我希望能够手动迁移 Up() 方法。目前我正在尝试这样做,但调用包含 CreateTable 方法的方法不会创建表。我怀疑连接设置不正确。并且没有设置它的属性。
我也试过 DbMigrator,但它调用了一些内部 EF 迁移方法。
那么有人知道如何设置 DbMigration.Up 方法要使用的连接吗?
提前致谢!
最佳答案
我使用以下代码明确能够在 Application_Start 事件中升级我的数据库:
var config = new MyDatabaseMigrationsConfiguration();
var migrator = new System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator(new System.Data.Entity.Migrations.DbMigrator(config), new MyCommonMigrationsLogger());
if (migrator.GetPendingMigrations().Any())
{
migrator.Update();
}
据我所知,这将使用我的 DatabaseContext 中的默认(命名)连接字符串来应用未决更改。
- 如果你想明确的话,你可以在 migrator.Update() 中指定 TargetMigration
- MyCommonMigrationsLogger 只是 System.Data.Entity.Migrations.Infrastructure.MigrationsLogger 的简单 Logging.Common 实现
关于c# - 在 EF 中手动调用 DbMigration.Up,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18445004/