实体框架6.1.1禁用模型兼容性检查

时间:2014-07-21 08:44:08

标签: c# entity-framework console-application

将EF更新到版本6.1.1后,我遇到以下错误:

  

未处理的类型' System.InvalidOperationException'发生在EntityFramework.dll

其他信息:自创建数据库以来,支持TvstContext上下文的模型已更改。考虑使用Code First Migrations来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。

我们可以在过去解决这个问题: Where is modelBuilder.IncludeMetadataInDatabase in EF CTP5?

然而,我似乎无法摆脱错误。

3 个答案:

答案 0 :(得分:61)

这应该可行,将它放在派生的DbContext的构造函数中:

Database.SetInitializer<MyContext>(null);

答案 1 :(得分:21)

您也可以在Web.config档案

中进行设置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>    
    <add key="DatabaseInitializerForType YourNamespace.YourDbContext, AssemblyName"
            value="Disabled" />
    </appSettings>
</configuration>

来自的决定: http://www.entityframeworktutorial.net/code-first/turn-off-database-initialization-in-code-first.aspx

答案 2 :(得分:1)

To expand on Dabblernl's answers:

public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
        Database.SetInitializer<ApplicationDbContext>(null);
    }