EF升级后为现有数据库启用EF代码优先迁移

时间:2014-03-20 18:12:52

标签: c# entity-framework ef-code-first ef-migrations

我最近使用MVC3 Code First将Entity Framework 4.3网络应用程序升级到现有数据库MVC5Entity Framework 6。我们不使用代码优先迁移,并且所有数据库更改都是手动执行的。这在升级之前完美运行,我的应用程序中没有任何明确指示Entity Framework禁用迁移的特殊代码。

升级之后,我开始获得SQL异常,并且在检查时发现EF正在向模型中的一些视图发送CREATE语句。

我已经研究了这个,看来这应该是使用Package Manager Console中的“Enable-Migrations”命令的显式设置(参见这里:http://msdn.microsoft.com/en-us/data/dn579398#step2)。

进一步的研究使我找到Database.SetInitializer<MyContext>(null)命令来关闭迁移,这看起来有效。

虽然我已经解决了这个问题,但我想知道这里发生了什么。现在这是一个默认启用的设置,并且总是需要手动禁用,或者是其他正在进行的操作。我担心可能会有其他隐藏的含义,我想更好地了解正在发生的事情。

0 个答案:

没有答案