ASP.NET Code First Update-Database

本文详细介绍了在MVC5模块化项目中生成数据库的过程,包括解决EntityFramework未安装问题,以及如何正确卸载模块并更新数据库。同时,针对主键修改后遇到的错误,提供了使用Add-Migration与Update-Database命令的解决方案。
摘要由CSDN通过智能技术生成

问题描述:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值