entity framework – 检查挂起的迁移

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

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(); } 

我将DbContext.Database.CompatibleWithModel()与EF 6.1.3一起使用