实体框架 - 检查待定迁移

Mic*_*pas 4 c# asp.net-mvc entity-framework

在我们的生产环境中,我们有一个自动部署脚本,用于关闭我们的站点,运行迁移,然后将其重新联机.我们希望避免在没有任何需要运行的迁移时切换到新代码来关闭网站.

实体框架是否有像"Update-Database"这样的命令,可以让我们检查是否有要运行的迁移?

Wik*_*hla 16

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(); 
}
Run Code Online (Sandbox Code Playgroud)