使用實體框架6,與SQL Server數據庫和代碼第一次遷移,我有遷移建立和「愉快地」運行,但我發現每次我去添加另一個遷移我第一得到以下錯誤關:實體框架總是有待決的遷移
無法生成一個明確的遷移,因爲下面的明確的遷移未決:[201602090629398_Initial,201602090638322_FixSitePageColumns,201602110313468_RemoveRequiredTemplateId]。再然後試圖產生一個新的明確的遷移之前應用掛起明確的遷移。」
如果我運行update-database -force
它抱怨(自然),該腳本將失敗,因爲已經有被應用的。這doign一個奇怪的組合在add-migration
作品,我可以進行更新到最新的遷移。
的「待定」遷移名單也隨之增加隨着時間的推移每addded遷移。
可能會導致什麼這種「掛起」狀態,遷移時已經應用了?我可以確認數據庫已經有b了een更新,遷移存在於__MigrationHistory
,並且程序運行愉快。
編輯
我也只是運行get-migrations
並正在返回以下:
PM>得到的遷移已應用到目標數據庫 檢索遷移。 201602110313468_RemoveRequiredTemplateId 201602110311536_RemoveRequiredTemplateId 201602090638322_FixSitePageColumns 201602090629398_Initial
這裏怪異的事情(可能是紅鯡魚)是201602110311536_RemoveRequiredTemplateId
是不是在我的項目遷移,我認爲這可能是一個,我創建,然後刪除,我從未隱式將其應用於數據庫,但它位於__MigrationHistory
表中。
重命名現有的數據庫並使用相同的名稱創建一個空的數據庫。然後,調用'update-database'。它應該運行所有的遷移。現在,添加並應用新的遷移並告訴我問題是否仍然存在 –
嗯,我上次執行「強制」更新和添加遷移的方式使其發揮作用,似乎已將其修正爲新變更做了添加遷移(並準備嘗試你的建議),問題沒有發生。如果它再次發生,我會嘗試你建議的,謝謝。 –