使用 Entity Framework Code First,Web 应用程序在调用 DbContext 时崩溃,并出现以下错误:
断言失败
表达式:primitiveType != null
描述:断言失败:primitiveType != null
它在以下代码行处崩溃:
public class MyDb : DbContext {
其调用者:
MyDb _db = new MyDb();
所以看起来调用 DbContext 会生成致命错误。 DbContext 是一个 EF 函数,我无法在 EntityFramework.dll 内调试
这是与旧版本的 EntityFramework 相关的问题。将 Visual Studio 项目复制到另一台计算机时有时会发生这种情况。这可能会导致应用程序计算出与数据库(EdmMetaData 表内)中的 ModelHash 不同的 ModelHash。解决方案是删除 EdmMetaData 表并使用DbDatabase.SetInitializer<MyContext>( new DropCreateDatabaseIfModelChanges<MyContext>());
将其放回原处,甚至更好:升级到不使用 EdmMetaData 表和 ModelHashes 的 EntityFramework 较新版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)