Сохранение измененного объекта из ASP.NET MVC View с использованием Entity-Franework 4 - PullRequest
0 голосов
/ 29 декабря 2010

Я получаю граф объектов из БД, используя EF4.Контекст закрывается, как только данные извлекаются и данные передаются в контроллер, а затем в представление.в представлении данные изменяются, а затем контроллер возвращает их.

Из контроллера я запускаю Repository.Update (MyEmp);

и в моем хранилище код выглядит так:

с использованием (var context = new mydb ())

        {
            if (myEmp.ID != 0)  // Checking if it's modified or new
            {

                context.Emp.Attach(MyEmp);
                int result = context.SaveChanges();
                return myEmp.ID;
            }
        }

Проблема - после присоединения объект entityState перемещается в неизмененный и не изменяется, и, конечно, -в базу данных ничего не сохраняется.

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 29 декабря 2010

Проверьте мой ответ на этот вопрос о сохранении отдельных объектов (вторая часть).Вы должны вручную установить состояние для изменения.Также проверьте мой ответ о сохранении графа объектов.Проблема в том, что вы должны вручную устанавливать состояние для каждой сущности и отношения в графе объектов.

0 голосов
/ 29 декабря 2010

Я использую аналогичный ниже код для измененных объектов,

  Context.TryGetObjectByKey(EntityKey, EntityInstance);
   //EntityInstance:Nothing to do with your entity just create new instance and pass it to this method.

Наверное, присоединение не требуется.

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