我在實體框架6.0。這是一個發展問題,而不是生產。EF代碼優先數據庫初始化和遷移混亂
我認爲我有一個相互衝突的策略。 目前我有一個DropCreateDatabaseIfModelChanges 數據庫初始化程序設置並使用種子方法在Configuration.cs啓用遷移。 在添加遷移和運行更新數據庫時,似乎像是何時刪除並重新創建數據庫以及何時運行種子方法一樣幸運。 事實上,這是一個總的抽獎,當兩者都發生時,我必須拉各種技巧才能使事情發揮作用。 有人可以告訴我是否有數據庫初始化程序和遷移啓用衝突。 謝謝
謝謝史蒂夫,最後一個comon意義上解釋這個東西是如何工作的。我已經啓用了遷移功能,並且有20多次遷移試圖讓這個東西起作用。因此,我將初始化程序更改爲MigrateDatabaseToLatestVersion,並使用遷移種子來添加或更新種子數據。 – ShaunK
另外,我已經創建了初始遷移。我需要再次使用-IgnoreChanges來做到這一點,如果有的話,爲什麼。謝謝 – ShaunK
取決於您是否有其他數據庫,如TEST,PROD或其他處於不同狀態的Dev機器。如果是這種情況,您需要將它們全部放在同一頁面上。如果這只是單個數據庫並且所有更改都已應用,則可以刪除所有遷移,刪除__MigrationHistory中的所有記錄並執行新的初始遷移-IgnoreChanges。現在,您的所有更改都將跟蹤向前發展。 –