关于使用CodeFirst,修改类或上下文时操作数据库报错解决方法

在操作已经创建好的数据库时,若是添加新的实体类或者修改原有数据库上下文,会报如下错误:

The model backing the 'StudentDbContext' context has changed since the database was created. Consider using Code First Migrations to update the database(http://go.microsoft.com/fwlink/?LinkId=238269).

解决方法:思路是按照提示 进行EF Code First数据库迁移。

先在出错的数据库上下文中添加如下代码:

再按序执行以下操作:
1>、在程序包管理器控制台,执行语句:

PM> Enable-Migrations -EnableAutomaticMigrations
 执行成功后,在应用程序代码结构中,添加Migrations文件夹,并生成类文件Configuration.cs。

2>、在程序包管理器控制台,执行语句:

PM> Add-Migration InitialCreate
3>、在程序包管理器控制台,执行语句:

PM> Update-Database -Verbose
执行完这些后,继续操作数据库,就不会再出现如上错误。


备注:修改完以上错误后,当再次修改该数据库上下文,在里面重写OnModelCreating()函数时,会报错:An error occurred while updating the entries. See the inner exception for details。


解决该错误:删除所连数据库,删除以下代码:

 

转载于:https://www.cnblogs.com/xuanhai/p/9389263.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值