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

DbContext 崩溃并显示 PrimitiveType != null 错误

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

安装 asp.net4.5 后,我遇到了同样的错误。我的答案是将实体框架更新到新版本。

删除"EdmMetaData"表未解决错误。

我切换到linq到sql并得到这个错误。不知道是什么实体正在执行导致这种情况。

您需要更新您的 EntityFramework 版本