问题描述:
复制了一个模块化的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
问题解决,如果还是有报错,那么可能会有警告,按照警告的提示,继续操作即可。