DbContext 崩溃并显示 PrimitiveType != null 错误
本文关键字:null 错误 PrimitiveType 崩溃 显示 DbContext | 更新日期: 2023-09-27 18:32:57
使用实体框架代码 首先,Web 应用程序在调用 DbContext 时崩溃,并显示以下错误:
断言失败
表达式:基元类型 != 空
说明:断言失败:基元类型 != 空
它在以下代码行上崩溃:
public class MyDb : DbContext {
它被称为:
MyDb _db = new MyDb();
因此,调用 DbContext 会产生致命错误。DbContext是一个EF函数,我无法在EntityFramework中调试.dll
这是一个与旧版本的 EntityFramework 相关的问题。有时在将Visual Studio项目复制到另一台计算机时会发生这种情况。这可能会导致应用程序计算的模型哈希与数据库中(在 EdmMetaData 表内)中的模型哈希不同。解决方案是删除 EdmMetaData 表并使用 DbDatabase.SetInitializer<MyContext>( new DropCreateDatabaseIfModelChanges<MyContext>());
将其放回原位,甚至更好:升级到不使用 EdmMetaData 表和 ModelHashes 的较新版本的 EntityFramework。
安装 asp.net4.5 后,我遇到了同样的错误。我的答案是将实体框架更新到新版本。
删除"EdmMetaData"表未解决错误。
我切换到linq到sql并得到这个错误。不知道是什么实体正在执行导致这种情况。
您需要更新您的 EntityFramework 版本