无法识别 EF 核心迁移



在 PMC 中执行添加迁移后,将使用 Up 方法中所需的所有正确更改创建迁移类。

当我在PMC中运行更新数据库命令时,出现错误

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

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

如果我执行 remove-migrations 命令,则不会删除新创建的迁移类,则会出现一条错误消息,指出已应用以前的迁移。

似乎所有使用添加迁移创建的新迁移都无法通过更新数据库或删除迁移命令识别

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

dotnet ef database update --context YourAppContext --project YourProj

我们刚刚遇到了同样的问题。问题是,我们从Visual Studio的解决方案中排除了迁移文件夹。

  • 项目显示所有文件
  • 右键单击">迁移">
      »包含在项目中

上述步骤为我们解决了这个问题。

最新更新