【问题标题】:How to rollback EF 7 migrations programmatically?如何以编程方式回滚 EF 7 迁移?
【发布时间】:2016-03-11 19:40:40
【问题描述】:

我想编写一个单元测试,它可以迁移到最新的架构,然后又回到原样。

对于我可以做的迁移:

db.Database.Migrate();

但是我该如何回滚呢?

【问题讨论】:

    标签: c# entity-framework unit-testing database-migration entity-framework-core


    【解决方案1】:

    Commands 使用类似这样的东西;

    var migrator = db.GetInfrastructure().GetRequiredService<IMigrator>();
    migrator.Migrate("Migration1");
    

    其中 Migration1 是迁移的名称。 This 建议您可以将“0”粘贴在那里以将它们全部回滚。

    【讨论】:

    • 我可以确认这和下面的解决方案一样有效。
    【解决方案2】:

    正在挖掘程序集,发现我可以做到这一点:

    db.Database.GetService<IMigrator>().Migrate("0");
    

    【讨论】:

      猜你喜欢
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 2022-06-11
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      • 1970-01-01
      • 2016-06-15
      相关资源
      最近更新 更多