Csharp/C#教程:‘ObjectContext’不包含’Entry’的定义,也没有扩展方法’Entry’分享


‘ObjectContext’不包含’Entry’的定义,也没有扩展方法’Entry’

我使用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'. 

您正在使用ObjectContext ,它没有Entry方法。 你必须使用DbContext ,它是ObjectContext一个包装器,附带有其他方法,在EF 4.3 4.1中添加(由于Slauma校正),据我记得 – 还有一种方法可以在需要时从DbContext提取ObjectContext

 ObjectContext context = ((IObjectContextAdapter)yourDbContext).ObjectContext; 

这是另一种方式:

 DbContext context = new DbContext(yourObjectContext, true); //or false, depends what you want 

这是构造函数的链接 。

上述就是C#学习教程:‘ObjectContext’不包含’Entry’的定义,也没有扩展方法’Entry’分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/984050.html

(0)
上一篇 2021年12月19日
下一篇 2021年12月19日

精彩推荐