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

Wil*_*lem 5 .net c# entity-framework-4.1

我升级我EntityModel到版本4.3使用NuGet.

现在我想改变我的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'.
Run Code Online (Sandbox Code Playgroud)

Pat*_*iek 14

你正在使用ObjectContext,没有这个Entry方法.你不得不用DbContext,这是一个包装周围ObjectContext有额外的方法,在EF增加4.3 4.1(修正感谢Slauma)据我记得-也有一种方法来提取ObjectContextDbContext何时需要:

ObjectContext context = ((IObjectContextAdapter)yourDbContext).ObjectContext;
Run Code Online (Sandbox Code Playgroud)

这是另一种方式:

DbContext context = new DbContext(yourObjectContext, true); //or false, depends what you want
Run Code Online (Sandbox Code Playgroud)

这是构造函数的链接.