0

我遵循MSDN流程here來啓用遷移,並且我創建了一些可以正常工作的測試遷移(上升)。我不完全確定的是Down()的調用方式和時間。目前我正在編寫的應用程序將安裝並且遷移發生在應用程序運行(這一切正常)EF遷移 - 數據庫遷移的方式和時間

如何以及何時將數據庫正常遷移到病房?

  • 在卸載
  • 不運行時(說安裝後卸載舊版本)
  • 抑或是其他因素來這裏的另一個版本的照顧呢?

如果是手動過程,那麼它是如何執行的?當你回滾安裝並手動是最有可能運行在Package Manager控制檯

+0

在你提供的鏈接中,你可以找到如何手動降級到特定的遷移 – szpic

+0

這隻能在VS內工作嗎? – Chris

+0

還有可以運行你的遷移的外部migrate.exe工具 – Thewads

回答

0

Down()用於:

PM> Update-Database –TargetMigration:"TheNameOfLastMigrationToKeep" 

(如果您當前的遷移版本較新的規定,這使得降級,否則,它將數據庫遷移到特定的遷移)

在最有可能的工作流程中,您以增量方式開發應用程序,並且作爲部署,您讓EF自動將數據庫從點A遷移到點B,使用Up()部分遷移。

不幸的是,這並不是一直工作。有時候你會在部署後立即發現一個大錯誤,現在你需要一種乾淨的方式來讓數據庫恢復到遷移前的狀態。要從B點返回到A點,您可以使用Down()遷移或恢復您的數據庫。您更喜歡哪一個取決於您的系統,您的流程以及您是否允許開發人員恢復數據庫。