2012-10-12 59 views
1

我想創建一個數據庫初始化程序,該程序運行所有掛起的遷移,而不管模型是否處於正確的狀態。即我想初始化,即使它認爲,因爲這樣它通過下面的錯誤不會發生遷移模型的狀態已經改變運行所有的遷移:實體框架:如何在代碼優先遷移中禁用模型兼容性檢查

Unable to update database to match the current model because there are pending changes and automatic migration is disabled.

有誰知道我怎麼可能會得到這個工作?

回答

1

打開自動遷移。該錯誤表示它無法讓您的數據庫與您的代碼同步,因爲您的類包含的變化不在您的任何基於代碼的遷移中。

+0

打開自動遷移的副作用是什麼?我擔心它會嘗試執行我不想執行的模式更改。我的解決方案包含兩個指向同一個數據庫(一個繼承另一個)的上下文,但駐留在兩個不同的程序集中,並且遷移被拆分爲兩個不同的程序集(每個程序集都包含與相關上下文有關的模式遷移)。因此,我不想僅在自動遷移時自動運行一些遷移代碼,然後在遷移其他上下文時嘗試再次運行遷移代碼。 – hofnarwillie

+1

我想我已經想出了一個解決方案,將在週末進行測試,並在週一回來給你。感謝您的評論。 (順便說一句,做一個熟悉的面孔幾乎每個EF代碼在Stackoverflow上的第一個問題!你是否喜歡Code First Yoda?) – hofnarwillie

相關問題