很抱歉发布这样的一般性问题,但是对于多种情况可能会有多个答案(我可能需要在得到答案之前重新创建数据库),所以这里有:
我们有一个使用EF6的C#项目,已成功使用EF Migrations数月。今天早上,当我尝试运行我的项目时,我得到了这个非常熟悉的错误:
System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException'发生在EntityFramework.dll中,但未在用户代码中处理
其他信息:无法更新数据库以匹配当前模型,因为存在挂起的更改并且已禁用自动迁移。将挂起的模型更改写入基于代码的迁移或启用自动迁移。将DbMigrationsConfiguration.AutomaticMigrationsEnabled设置为true以启用自动迁移。
除了我找不到任何改变的证据。
有关这种情况如何发生的任何想法?
答案 0 :(得分:6)
我们发现了这个问题。我们解决方案中的Core项目已从EF 6.0.2升级到EF 6.1.1,但MVC项目不是。
这在几天前最初完成时并没有引起问题。但是昨天,一个团队成员用新版本创建了第一个迁移(只添加了数据,没有结构变化)。迁移完成后,MVC项目将无法再与db进行交互。
最终让我们失望的是在__MigrationHistory表中看到了更新的ProductVersion。
一旦我升级了MVC项目,问题就解决了。
感谢那些提出建议的人。希望如果其他人有相同的症状,他们可以在这些帖子中找到答案。