.Net Core 3.1 升级到 5 迁移没有实体类型映射到表

mtp*_*ltz 5 entity-framework-5 entity-framework-core .net-core .net-5

将我们的应用程序从 .Net Core 3.1 升级到 5.0.6,并且使用现有数据库一切正常。如果我删除数据库并运行迁移,我会收到此错误:

没有实体类型映射到数据操作中使用的表“UserClause”。要么将相应的实体类型添加到模型中,要么在数据操作中指定列类型。

UserClause表不再存在,它在失败的迁移中被重命名,但如果此特定迁移完成,它将是该表Agreement,但由于缺少实体类型而导致此迁移,该实体类型肯定也不存在,因为它最初是运行一年多前。

任何人都知道为什么迁移会寻找实体类型,以及如何解决该问题?似乎不应该在运行迁移时检查实体。

mtp*_*ltz 1

看起来在 EF Core 5 中,我们的一些存在表重命名的迁移必须将其更新或插入语句移至表重命名之后,否则您会收到此错误。一旦表重命名并且更新/插入的表名称更改为重命名的表名称后,一切就正常了。