1

當我第一次構建網站時,我使用的是EF4 Code First(無需遷移)。現在我的客戶問我一些需要重構我的代碼庫的新功能。重構的一部分是將我的模型移動到一個單獨的程序集中(應該從一開始就完成,但我當時不知道)。因此,無論如何,現在我的整個代碼庫都發生了變化,並且幾乎所有的程序集名稱和名稱空間都被更改了,當我將該網站部署到臨時環境時,EF重新生成了測試數據庫。防止EF代碼首先重新生成我的生產數據庫

所以我的問題有什麼可以做的,以避免這種情況?我還沒有使用遷移,但是這是一個可行的解決方案?

P.S:我也想知道爲什麼發生這種情況,我沒有真正改變任何模型類的任何屬性。是否現在他們屬於另一個命名空間,他們被EF看作是一個全新的模型?

回答

2

如果你確信你沒有改變任何表嘗試添加:

Database.SetInitializer<YourContext>(null); 

到應用程序的初始化。它會從您的應用程序中刪除任何初始化策略,它不會再創建數據庫。

+0

這實際上工作! :)從那裏開始,我應該能夠正常使用EF Migrations來更改我的數據庫模式,對吧? – Kassem

相關問題