gpt4 book ai didi

c# - 'ObjectContext' 不包含 'Entry' 的定义并且没有扩展方法 'Entry'

转载 作者:太空狗 更新时间:2023-10-29 22:14:24 28 4
gpt4 key购买 nike

我使用 NuGet 将我的 EntityModel 升级到版本 4.3

现在我想更改我的 EntityObject.State,但找不到 .Entry() 方法。

当前状态是已删除

这就是我想要做的:

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 进行了更正)- 还有一种方法可以提取 ObjectContext来自 DbContext需要时:

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

反过来说:

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

这是一个 link给构造函数。

关于c# - 'ObjectContext' 不包含 'Entry' 的定义并且没有扩展方法 'Entry',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11032683/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com