DbContext与PrimitiveType!= null错误崩溃

jao*_*jao 5 c# entity-framework-4

使用实体框架代码首先,Web应用程序在调用DbContext时崩溃,并出现以下错误:

断言失败

表达式:primitiveType!= null

描述:断言失败:primitiveType!= null

它在以下代码行崩溃:

public class MyDb : DbContext {
Run Code Online (Sandbox Code Playgroud)

被称为:

MyDb _db = new MyDb();
Run Code Online (Sandbox Code Playgroud)

因此,调用DbContext会产生致命错误.DbContext是一个EF函数,我无法在EntityFramework.dll中调试

rei*_*der 1

这是与旧版本的 EntityFramework 相关的问题。将 Visual Studio 项目复制到另一台计算机时有时会发生这种情况。这可能会导致应用程序计算出与数据库(EdmMetaData 表内)中的 ModelHash 不同的 ModelHash。解决方案是删除 EdmMetaData 表并将DbDatabase.SetInitializer<MyContext>( new DropCreateDatabaseIfModelChanges<MyContext>());其放回原位,甚至更好:升级到不使用 EdmMetaData 表和 ModelHashes 的较新版本的 EntityFramework。