Не удается разрешить Symbol ObjectStateManager - PullRequest
12 голосов
/ 23 января 2012

Я получаю сообщение об ошибке « Невозможно разрешить Symbol ObjectStateManager » при попытке вызвать его в контексте моей базы данных из Entity Framework 4. Я не могу найти никого другого, имеющего эту проблему.Я попытался использовать System.Data и 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");
        }

Ответы [ 4 ]

28 голосов
/ 01 августа 2012

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

db.Entry(user).State = EntityState.Modified;
13 голосов
/ 23 января 2012

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

((IObjectContextAdapter)db).ObjectContext.ObjectStateManager
0 голосов
/ 11 июня 2013

Еще один проверяемый элемент заключается в том, что целевая платформа .net для проекта установлена ​​в .net 4 +.

0 голосов
/ 23 января 2012

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

Также System.Data.Objects является правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...