我已經使用Nuget Package Manager中的MVCScaffolding,並遵循關於它如何工作的簡短教程。 它似乎很簡單,當我運行 Scaffold Controller Team –Repository -Force
它將創建圍繞「團隊」的所有存儲庫模式的東西。MVCScaffolding和數據庫同步不斷變化的模型
但是,在嘗試(併成功)解決這個問題時,我決定在「團隊」類(myRandomField
)中添加一個附加字段。 如我所料,當我整理我的MVC視圖中的錯誤,是:
自數據庫創建的模型支持的「MvcApplication1Context」已經時過境遷。可以手動刪除/更新數據庫,也可以使用IDatabaseInitializer實例調用Database.SetInitializer。例如,DropCreateDatabaseIfModelChanges策略將自動刪除並重新創建數據庫,並可以選擇使用新數據對其進行種子處理。
很明顯,這個錯誤是因爲我已經更新了模型(Code-first ??),並且數據庫現在與我的模型「不同步」。
解決此問題的最佳方法是什麼?是否有一種簡單的方法需要與模型進行數據庫同步 - 我計劃對模型進行大量編輯,因爲我開始的項目將逐步推出(因此,每次完成一次完整的數據庫重建都不成問題)在這種情況下,代碼首先適合我嗎?我真的很喜歡這個插件/工具不會使用它。
jad - 讓我瞭解這裏的基礎知識。您是否希望在不丟失現有數據的情況下同步數據庫,或者您是否樂意看到這些更改會丟棄所有現有數據?如果前者,那麼我會在回答中解決,否則,只需使用Database.SetInitializer(新的DropCreateDatabaseIfModelChanges());'在你的global.asax –
2012-07-20 14:44:27
@jimtollan正確,我不想失去現有數據。 – JustAnotherDeveloper 2012-07-20 15:02:26