“ObjectContext”不包含“Entry”的定义,也没有扩展方法“Entry”
本文关键字:Entry 扩展 方法 ObjectContext 包含 定义 | 更新日期: 2023-09-27 18:37:14
我使用 NuGet
将EntityModel
升级到版本 4.3
.
现在我想改变我的EntityObject.State
,但它找不到.Entry()
方法。
当前状态为 Deleted
。
这就是我想做的:
someObjectContext.Entry(someEntityObject).State = EntityState.Unchanged;
添加了对 EntityFramework 和 EntityFramework.Extended 的引用。
那么,我错过了什么?
编辑
我的NuGet
输出:
PM> Install-Package EntityFramework -Version 4.3.1
'EntityFramework 4.3.1' already installed.
Data already has a reference to 'EntityFramework 4.3.1'.
您正在使用没有 Entry
方法的 ObjectContext
。据我所知,您必须使用 DbContext
,它是在 EF 4.3 4.1 中添加的其他方法的包装ObjectContext
器(感谢 Slauma 的更正) - 还有一种方法可以在需要时从DbContext
中提取ObjectContext
:
ObjectContext context = ((IObjectContextAdapter)yourDbContext).ObjectContext;
这是相反的方法:
DbContext context = new DbContext(yourObjectContext, true); //or false, depends what you want
下面是构造函数的链接。