ASP.NET Code First Update-Database

问题描述:

复制了一个模块化的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

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

原文地址:https://www.cnblogs.com/Rexcnblog/p/6519579.html