我有一個問題,造成脫髮...如何停止EF(代碼優先)檢查模式變化
我有一個使用代碼優先(EF)的項目構建;一切都很好,它的功能就像一個魅力,但是,我無法找到一種允許數據庫更改(通過.sql腳本)的適當方式,因爲架構已更改,而不會在啓動時引發應用程序發脾氣。
我已經閱讀並閱讀了這個問題,我已經刪除了EdmMetaData表,因此它無法比較數據庫的哈希值,但後來發現EF中存在一個錯誤,如果刪除了它,它仍然認爲該模式已經改變了(因爲它不能識別缺失的表,所以它比較了一個空字符串!)。
此外,我已經嘗試在Global.asax文件中使用Database.SetInitializer(null),但這意味着我以後無法訪問數據模型。
每個人都在談論使用刪除數據庫的選項,如果架構更改等
這就是我在尋找:
對於EF /代碼首先做...什麼!甜蜜的FA!沒出息!
...如果我通過外部應用程序更改模式,我希望它完全忽略所做的更改,而只是假設我已做出相關模型更改以使用通過.sql腳本進行的這些數據庫更改。如果我想念一個專欄或一張桌子,那麼我接受我的愚蠢,然後我期望發脾氣,但是,直到我犯了一個錯誤,我希望EF相信我。
這意味着我可以隨時輕鬆地使用.sql腳本更新我們的任何客戶端,而不必擔心EF會讓山雀起飛! :(
任何想法傢伙?
請解釋如果將數據庫初始值設定爲null會發生什麼情況。 – 2012-03-15 10:14:28