支持“XX”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink

800 阅读1分钟

问题:使用Entity Framework迁移完数据库后,每次修改代码(非模型代码)后都报错:

支持“THDbContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(go.microsoft.com/fwlink/?Lin…)。 这时如果执行 Add-Migration 生成的迁移代码是空的。于是重新Update-Database,结果却是No pending explicit migrations.

不过这时是不报错了,可是每次修改代码都要Update-Database。非常怪异,调试好久都没有发现问题在哪儿,于是怀疑是Entity Framework的Bug,读了一下Entity Framework的源码,发现读不懂,水平太有限了。

于是网上查了一下,有一个解决方案:

Database.SetInitializer(null);

把上面这句放到Application_Start()里就好了,但是感觉这不是一个从根本上解决问题的方法。

终于,偶然在stackoverflow上发现了这篇文章,原来果然是Entity Framework 6.0.0 的Bug。于是升级到6.1.0,这个问题就没有了。

作者:完美主义 来源:CSDN 原文:blog.csdn.net/wmzy1067111… 版权声明:本文为博主原创文章,转载请附上博文链接!