无法解析Symbol ObjectStateManager

时间:2012-01-22 21:04:03

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

我尝试从实体框架4在我的数据库上下文中调用它时,出现“无法解析符号ObjectStateManager ”的错误。我找不到其他人遇到此问题。我尝试使用 System.Data System.Data.Objects

是否需要制作特定的实体框架才能使用ObjectStateManager?或者我错过了某种安装包?我正在使用Database First Entity Framework。

以下是我给出错误的代码:(第7行)

[HttpPost]
        public ActionResult EditProfile(User user)
        {
            if (ModelState.IsValid)
            {
                db.Users.Attach(user);
                db.ObjectStateManager.ChangeObjectState(user, EntityState.Modified);
                db.SaveChanges();
            }
            return RedirectToAction("Profile");
        }

4 个答案:

答案 0 :(得分:28)

我相信你现在找到了一个解决方案,但我刚刚遇到了同样的问题,并且能够通过将EntityState行更改为以下内容来解决它:

db.Entry(user).State = EntityState.Modified;

答案 1 :(得分:13)

可能你首先使用代码EF。在这种情况下,您必须将您的代码还原为显式实现IObjectContextAdapter,即

((IObjectContextAdapter)db).ObjectContext.ObjectStateManager

答案 2 :(得分:0)

您是否已将System.Data.Entity程序集添加到项目中?

同样System.Data.Objects也是正确的。

答案 3 :(得分:0)

要检查的另一个项目是项目的目标.net框架设置为.net 4 +。