EF 核心迁移未被识别

EF Core Migrations not being recognized

在 PMC 中执行添加迁移后,迁移 class 已创建,并在 Up 方法中进行了所需的所有正确更改。

当我在 PMC 中 运行 update-database 命令时出现错误

System.InvalidOperationException: The migration '***MigrationName***' was not found.

我以前从未见过这个,它说的文件不存在显然存在。

如果我执行 remove-migrations 命令,新创建的迁移 class 没有被删除,我收到一条错误消息,指出之前的迁移已经被应用。

似乎所有使用 add-migrations 创建的新迁移都无法通过 update-database 或 remove-migration 命令识别

我们刚刚遇到了同样的问题。问题是,我们从 Visual Studio.

的解决方案中排除了 Migrations 文件夹
  • 项目显示所有文件
  • 右键单击迁移
    » 包含在项目中

以上步骤帮我们解决了。

其中一个原因是 dbcontext 不在启动项目中,而是在另一个项目中。在这种情况下,PM 可能无法找到完成迁移的路径。我们可以使用带有显式 dbcontext 和项目名称的 dotnet,其中 dbcontext 是:

dotnet ef 数据库更新 --context YourAppContext --project YourProj