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()迁移或恢复您的数据库。您更喜欢哪一个取决于您的系统,您的流程以及您是否允许开发人员恢复数据库。