我目前已經建立的實體框架5,一個系統,我們希望它升級到6
但是,它已擁有幾十家應用遷移。不僅如此,我們還有單元測試,通過創建測試數據庫和更新到最新並返回初始狀態來驗證所有遷移,以確保所有的Up和Down遷移都能夠正確應用。
從我一直在閱讀的內容來看,如果遷移有不同的EF版本號,Update-database
不能越過這個邊界,這意味着覆蓋所有遷移的單元測試永遠不會通過。我可能會誤解,並且EF遷移可能會向後兼容。
問:
在這種情況下,會是明智的所有舊的遷移實際上合併成一個大的InitialCreate
遷移(使用EF6重建),刪除MigrationHistory
表和「假申請」遷移到實時數據庫(通過臨時註釋該遷移的代碼)來獲取新的歷史記錄?
其次,這是我們在不久的將來更新EF時必須要做的事嗎?如果是這樣的話,EF似乎缺少一些關於跨版本遷移的支持。
你試過了嗎?你有這個問題的更新嗎? – hofnarwillie
是的,我上面描述的是我最終做的。我會在下面的答案中詳細闡述一下。 –