EF Code First 没有看到所有迁移

Posted

技术标签:

【中文标题】EF Code First 没有看到所有迁移【英文标题】:EF Code First doesn't see all migrations 【发布时间】:2014-09-02 08:50:16 【问题描述】:

在我的项目中,我进行了十多次迁移。 http://screencast.com/t/CA2kZk3WCFj 但是当我尝试从头开始创建数据库时,EF 只从标记迁移到底部开始。

如果我输入命令: 更新数据库-targetMigration InitialCreate 这是回应: 他指定的目标迁移“InitialCreate”不存在。确保目标迁移引用现有的迁移 ID。

如何解决此问题并让 EF 看到所有迁移?

【问题讨论】:

另一种解决方案是从您的项目中排除所有迁移类文件,然后添加新迁移,同时针对新数据库,从而构建包含所有更改的新迁移。 不幸的是,我们有多个运行环境,例如生产环境没有在最新迁移中运行。还有一些自定义脚本在新迁移中收集和合并会很痛苦。 检查您的迁移是否在正确的命名空间中 我不能再测试这个了:)。通过从头开始重新创建迁移来修复。 【参考方案1】:

如果您在发布模式下使用 Update-Database 命令,这通常会发生。在 Debug 模式下运行似乎可以正常工作。

【讨论】:

我没有这个问题了,如果其他人可以确认这一点,我很乐意将其标记为答案...【参考方案2】:

我遇到了同样的问题。 就我而言,“忽略”的迁移不在同一个命名空间中(由重命名的项目引起)。

【讨论】:

以上是关于EF Code First 没有看到所有迁移的主要内容,如果未能解决你的问题,请参考以下文章

如何在 EF Core Code First 中自定义迁移生成?

asp.net core 使用EF7 Code First 创建数据库,同时使用命令创建数据库(本来想数据迁移 没有成功,只能将标题搞成这个。)

EF Code First数据模型数据迁移visual studio 2019

20.1翻译系列:EF 6中自动数据迁移技术EF 6 Code-First系列

EF应用一:Code First模式

无法在EF Code First中创建复合主键