0

當我將代碼部署到我的代碼到測試環境時,我收到「支持上下文的模型自數據庫創建以來已更改」。數據庫是通過在數據庫上運行update-database -script的腳本輸出創建的。所以它最初的Migration History表格與我的開發數據庫服務器具有相同的值。關於這一點已經有很多討論 - 其中大部分建議簡單地放棄表格。所以我放棄了它,一切都很好。在代碼優先遷移中使用遷移歷史有什麼用處

但是呢?這真的是這個想法嗎?或者我可能不使用遷移權?我沒有發佈任何代碼,因爲我不確定最能幫助你的代碼。

編輯:我會換個方式嗎?我從VS中的控制檯生成sql腳本,同時指向我的本地SQL Express。我已經採用了確切的腳本(包括遷移歷史記錄表並在最後插入)並在全新的數據庫服務器(測試)上運行它。我已將我的網站代碼發佈到匹配的測試Web服務器,並且出現錯誤。這是否應該使用遷移的方式?

+0

我相信你已經嘗試過這樣的事情,但是你是否已經對解決方案中的EF項目進行了刷新或更新? – Killingsworth

+0

不確定你的意思。我先使用代碼。如果我不清楚我在說什麼,我已經添加了一些問題 – MJM

回答

1

如果在Update-Database之後使用了-script標誌,那實際上並不會更新數據庫。它只輸出SQL腳本以方便您。您必須運行沒有-script標誌的Update-Database才能真正更新數據庫。

在事物的秩序,你應該運行: *啓用的遷移(爲您的項目的生命週期只有一次) *添加遷移(一次爲每一個開發增加了模型變更時間) *更新遷移(一旦你或其他人添加遷移)

我寫了一篇博文,分步說明,工作示例和常見問題。 http://wakeupandcode.com/entity-framework-code-first-migrations/

希望這有助於!