首先使用实体框架代码,Web 应用程序在调用 DbContext 时崩溃并出现以下错误:
Assertion failed
Expression: primitiveType != null
Description: Assertion failed: primitiveType != null
它在以下代码行崩溃:
public class MyDb : DbContext {
调用者:
MyDb _db = new MyDb();
所以调用 DbContext 似乎会产生 fatal error 。 DbContext 是一个 EF 函数,我无法在 EntityFramework.dll 中进行调试
最佳答案
这是与 EntityFramework 的旧版本相关的问题。将 Visual Studio 项目复制到另一台机器时有时会发生这种情况。这可能会导致应用程序计算出与数据库中(在 EdmMetaData 表内)不同的 ModelHash。解决方案是删除 EdmMetaData 表并使用 DbDatabase.SetInitializer<MyContext>( new DropCreateDatabaseIfModelChanges<MyContext>());
将其放回原位,甚至更好:升级到未使用 EdmMetaData 表和 ModelHashes 的较新版本的 EntityFramework。
关于c# - DbContext 因 PrimitiveType != null 错误而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10430223/