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

Tuk*_*rai 18 c# entity-framework console-application

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

EntityFramework.dll中发生了未处理的"System.InvalidOperationException"类型异常

附加信息:TvstContext自创建数据库以来,支持上下文的模型已更改.请考虑使用"代码优先迁移"来更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269).

我们可以在这个问题中描述过去解决这个问题: EF CTP5中的modelBuilder.IncludeMetadataInDatabase在哪里?

但是,我似乎无法摆脱错误.

Dab*_*rnl 64

这应该工作,把它放在派生的DbContext的构造函数中:

Database.SetInitializer<MyContext>(null);
Run Code Online (Sandbox Code Playgroud)

  • 这个答案值得更多的赞扬! (2认同)

Ser*_*ets 22

您也可以在Web.config文件中设置它

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>    
    <add key="DatabaseInitializerForType YourNamespace.YourDbContext, AssemblyName"
            value="Disabled" />
    </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

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

  • 这是有效的,并且可以说是首选,因为不需要更改代码,并且可以根据环境等打开/关闭兼容性检查. (3认同)