Entity framework core EF Core remove适用于未运行的迁移

Entity framework core EF Core remove适用于未运行的迁移,entity-framework-core,Entity Framework Core,我正在尝试删除出错的迁移。我有以下迁移: 初始迁移 Mybad迁移 首先,我的数据库状态是InitialMigration 然后我运行“dotnet ef迁移添加MyBadMigration” 然后运行应用程序,用dbContext.database.Migrate()更新数据库 我的数据库已更新为新状态 然后我意识到我的迁移不好,我想恢复更改 我应用“dotnet ef database update InitialMigration”,我可以看到我的数据库已恢复 然后,我希望快照和MyBa

我正在尝试删除出错的迁移。我有以下迁移: 初始迁移 Mybad迁移

首先,我的数据库状态是InitialMigration

  • 然后我运行“dotnet ef迁移添加MyBadMigration”
  • 然后运行应用程序,用dbContext.database.Migrate()更新数据库
  • 我的数据库已更新为新状态
  • 然后我意识到我的迁移不好,我想恢复更改
  • 我应用“dotnet ef database update InitialMigration”,我可以看到我的数据库已恢复
  • 然后,我希望快照和MyBadMigration.cs恢复为
  • 我应用“dotnet ef迁移删除”
  • 数据库将再次更新为MyBadMigration,我无法删除迁移
如果在初始化迁移时使用“dotnet ef migrations remove-f”,则更新源文件(恢复快照并删除MyBadMigration.cs),但数据库仍处于新状态


我使用.net core 2.0和ef core 2.0

仔细遵循本指南,尤其是对Program.Main方法的更新。dotnet ef生成您的服务提供程序以初始化您的上下文,但生成服务提供程序时您的代码正在调用Migrate(),这是不正确的设计。这是我问题的答案