关于使用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数据库迁移。

先在出错的数据库上下文中添加如下代码:
关于使用CodeFirst,修改类或上下文时操作数据库报错解决方法

再按序执行以下操作:
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。


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

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