在代码中逐个应用EF核心迁移

时间:2018-03-01 11:55:49

标签: c# asp.net-core entity-framework-core ef-core-2.0

我需要在代码中逐个应用实体框架核心迁移,我可以调用await dbContext.Database.MigrateAsync();,但它会在一个块中应用所有待处理的迁移。

是否有扩展或其他方法逐一应用迁移或选择要应用的迁移名称?

1 个答案:

答案 0 :(得分:2)

IMigrator服务使用Migrate(string targetMigration)方法接收迁移名称,此方法由Migrate()扩展程序使用。 从DbContext实例,它可以用作:

await dbContext.Database.GetInfrastructure().GetService<IMigrator>().MigrateAsync(targetMigrationName);

此扩展程序可以查询待处理的迁移名称:

var pending = dbContext.Database.GetPendingMigrations();