在代码中执行 Update-Database

在非开发环境中运行的应用程序通常需要数据库更新。使用 Add-Migration 命令创建数据库补丁后,需要在其他环境中运行更新,然后再运行测试环境。

通常面临的挑战是:

  • 生产环境中没有安装 Visual Studio,以及
  • 现实生活中没有任何连接允许连接/客户环境。

解决方法是以下代码序列,它检查要执行的更新,并按顺序执行它们。请确保正确的事务和异常处理,以确保在出现错误时不会丢失数据。

void UpdateDatabase(MyDbConfiguration configuration) {
   DbMigrator dbMigrator = new DbMigrator( configuration);
   if ( dbMigrator.GetPendingMigrations().Any() )
   {
      // there are pending migrations run the migration job
      dbMigrator.Update(); 
   }
}

MyDbConfiguration 是你的迁移设置,位于你的来源的某处:

public class MyDbConfiguration : DbMigrationsConfiguration<ApplicationDbContext>