Entity framework 枚举可用的实体框架代码优先迁移

Entity framework 枚举可用的实体框架代码优先迁移,entity-framework,ef-code-first,entity-framework-migrations,Entity Framework,Ef Code First,Entity Framework Migrations,可以通过编程方式枚举特定上下文/程序集的可用代码优先迁移(EF 6+)吗 具体来说,我想查看一个特定的程序集/上下文,列出可用的迁移,并按应用顺序对它们进行排序 看起来System.Data.Entity.Migrations.Infrastructure.MigrationAssembly是我想要的,但它是内部的。除了使用反射,还有更好的方法吗 编辑 对于查看两个不同EF程序集并提供其迁移“差异”的示例应用程序,请参见:使用: 使用: 使用: 使用: 啊,这将返回迁移的名称-包括时间戳,这使我

可以通过编程方式枚举特定上下文/程序集的可用代码优先迁移(EF 6+)吗

具体来说,我想查看一个特定的程序集/上下文,列出可用的迁移,并按应用顺序对它们进行排序

看起来System.Data.Entity.Migrations.Infrastructure.MigrationAssembly是我想要的,但它是内部的。除了使用反射,还有更好的方法吗

编辑

对于查看两个不同EF程序集并提供其迁移“差异”的示例应用程序,请参见:

使用:

使用:

使用:

使用:


啊,这将返回迁移的名称-包括时间戳,这使我能够正确地对它们进行排序。谢谢啊,这将返回迁移的名称-包括时间戳,这使我能够正确地对它们进行排序。谢谢啊,这将返回迁移的名称-包括时间戳,这使我能够正确地对它们进行排序。谢谢啊,这将返回迁移的名称-包括时间戳,这使我能够正确地对它们进行排序。谢谢
var config = new Configuration();
var migrator = new DbMigrator(config);

var all = migrator.GetLocalMigrations().ToList()
var applied = migrator.GetDatabaseMigrations().ToList();
var pending = migrator.GetPendingMigrations().ToList();
var config = new DbMigrationsConfiguration();
config.MigrationsAssembly = YourAssembly;
config.TargetDatabase = YourDb;
var migrator = new DbMigrator(config);
var local = migrator.GetLocalMigrations(); //all migrations
var pending = migrator.GetPendingMigrations();
var applied = migrator.GetDatabaseMigrations();