• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NETCodeFirstUpdate-Database

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

问题描述:

复制了一个模块化的MVC5的项目,模块化的解释是说不同功能的模块分开来放的。

明确每个模块都是做什么工作的。

首先最基本的,就是根据Apps.Models模块来创建数据库了。

做法是卸载Apps.Models以外的7个模块,然后执行命令Update-Database,但是会报错,具体的错误忘记了,反正就是新复制的没有编译过,所以会缺少dll文件导致的。

那正确的步骤是:

复制出来的新项目,第一步需要生成一次,然后卸载除了Apps.Models之外的7个模块,然后有个地方需要选择下

就是这个默认项目,因为其它的已经被卸载了,默认第一次会显示第一个为默认项目,所以生成的时候会报错The EntityFramework package is not installed on project ''

那参照Stackoverflow上的解决方案。http://stackoverflow.com/questions/11923077/the-entityframework-package-is-not-installed-on-project

最后快快乐乐生成了数据库啦。

随着开发工作的继续进行,突然发现,我寄几创建的主键有问题,因为在底层模板认识的主键只能是Id,所以说我的ID就需要修改了,改完model就得涉及重新生成数据库,这家伙直接给我报错,

Multiple identity columns specified for table 'FIX_OrderModel'. Only one identity column per table is allowed.

说一个表只能有一个主键,这个我当然知道啦。

这时,需要先告诉程序,去添加一个合并(如果有问题,就加个参数 -Force)

Add-Migration Initial -Force

然后再执行一次

Update-Database

问题解决,如果还是有报错,那么可能会有警告,按照警告的提示,继续操作即可。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap