Подтвердить что ты не робот

Не удается разрешить Symbol ObjectStateManager

У меня появляется сообщение об ошибке "Невозможно разрешить Symbol ObjectStateManager" при попытке вызвать его в моем контексте базы данных из Entity Framework 4. Я не могу найти кого-либо еще в этой проблеме. Я попытался использовать System.Data​​strong > и System.Data.Objects.

Существует ли конкретная структура Entity Framework для использования 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");
        }
4b9b3361

Ответ 1

Я уверен, что вы нашли решение, но сейчас я столкнулся с той же проблемой и смог его решить, изменив строку EntityState на следующее:

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

Ответ 2

Возможно, вы используете код EF. В этом случае вам нужно вернуть свой код в явную реализацию IObjectContextAdapter, т.е.

((IObjectContextAdapter)db).ObjectContext.ObjectStateManager

Ответ 3

Вы добавили сборку System.Data.Entity в проект?

Также правильный System.Data.Objects.

Ответ 4

Один дополнительный элемент для проверки: целевая .net-структура для проекта установлена ​​на .net 4 +.