關於使用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).ide

解決方法:思路是按照提示 進行EF Code First數據庫遷移。函數

先在出錯的數據庫上下文中添加以下代碼:
3d

再按序執行如下操做:
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。


解決該錯誤:刪除所連數據庫,刪除如下代碼:blog

相關文章
相關標籤/搜索