使用Entity Framework迁移完数据库后,每次修改代码(非模型代码)后都报错。
问题:使用Entity Framework迁移完数据库后,每次修改代码(非模型代码)后都报错:
支持“XXXDbContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。
这时如果执行 Add-Migration 生成的迁移代码是空的。于是重新Update-Database,结果却是No pending explicit migrations.
不过这时是不报错了,可是每次修改代码都要Update-Database。非常怪异,调试好久都没有发现问题在哪儿,于是怀疑是Entity Framework的Bug,读了一下Entity Framework的源码,发现读不懂,水平太有限了。
于是网上查了一下,有一个解决方案:
Database.SetInitializer<DbContext>(null);
把上面这句放到Application_Start()里就好了,但是感觉这不是一个从根本上解决问题的方法。
终于,偶然在stackoverflow上发现了这篇文章,原来果然是Entity Framework 6.0.0 的Bug。于是升级到6.1.0,这个问题就没有了。
困扰了n天的问题终于解决了,心情大爽!
转:http://blog.csdn.net/wmzy1067111110/article/details/25333363?reload