在生产环境中,我们有一个自动部署脚本,该脚本可以关闭我们的网站,运行迁移,然后使其重新联机。我们希望避免在不需要运行任何迁移的情况下仅切换到新代码来关闭站点。

Entity Framework 是否具有诸如“Update-Database”之类的命令,该命令可让我们检查是否有要运行的迁移?

最佳答案

DbMigrator类具有GetPendingMigrations方法,这听起来像您要查找的确切方法。应该是这样的

YourMigrationsConfiguration cfg = new YourMigrationsConfiguration();
cfg.TargetDatabase =
   new DbConnectionInfo(
      theConnectionString,
      "provider" );

DbMigrator dbMigrator = new DbMigrator( cfg );
if ( dbMigrator.GetPendingMigrations().Any() )
{
   // there are pending migrations
   // do whatever you want, for example
   dbMigrator.Update();
}

关于c# - Entity Framework -检查未完成的迁移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17932254/

10-10 05:20