c# - 更新 Entity Framework 中的实体

标签 c# asp.net asp.net-mvc entity-framework-4

我有一个与其他实体相关的实体 (TerminalCertification)。 我想让用户能够更新 TerminalCertification 但我无法更新由用户更新的相关对象。我的更新代码在这里:

public void UpdateTerminalCertification(TerminalCertification terminalCertification)
{
    var lastCertification = db.terminalCertifications.Find(terminalCertification.TerminalCertificationID);

    if (lastCertification==null)
        throw new TerminalCertificationNotFoundException(terminalCertification)                                   
        db.Entry(lastCertification).CurrentValues.SetValues(terminalCertification);
    }

我搜索了 stackoverflow 并找到了下面的代码,但是 DBContext 类中没有这样的 ObjectStateManager。

ObjectStateManager stateMgr = db.ObjectStateManager;    
ObjectStateEntry stateEntry = stateMgr.GetObjectStateEntry(model);
stateEntry.SetModified();

我该怎么办?

最佳答案

您可以将 DbContext 转换为具有底层 ObjectContext 的 IObjectContextAdapter,然后使用它的 ObjectStateManager。

关于c# - 更新 Entity Framework 中的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6655716/

相关文章:

asp.net - Thinktecture.IdentityModel 与 SimpleMembership

javascript - AngularJs 不渲染值

c# - 为什么依赖属性中的 get/set 没有做任何事情?

c# - 如何将 native 应用程序与 Eclipse 集成?

asp.net - 有没有办法禁用 .NET 浏览器检测?

c# - 升级 .NET Framework 后 VS2010 出现 "Unable to step. Process is not synchronized"错误

asp.net-mvc - 从 mvc 5 主页默认路由中删除主页索引

jquery - $.connection 未定义 + signalR 0.5.3 + MVC4

c# - 在多列上过滤列表

c# - 如何从备份文件中解码 MySql blob?