实体框架-检查挂起的迁移
本文关键字:迁移 挂起 检查 框架 实体 | 更新日期: 2023-09-27 18:25:28
在我们的生产环境中,我们有一个自动部署脚本,它可以关闭我们的站点,运行迁移,然后使其重新联机。当不需要运行任何迁移时,我们希望通过切换到新代码来避免网站瘫痪。
实体框架是否有一个类似"更新数据库"的命令,可以让我们检查是否有迁移要运行?
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 一起使用