Entity Framework 4 Сохранить и отменить - PullRequest
3 голосов
/ 03 ноября 2010

В настоящее время я тестирую платформу сущностей 4 для простого приложения, которое я хочу построить.

Я безуспешно искал ответ на этот вопрос !!

Мой вопрос: как сохранить и отменить изменения на основе записи? Использование метода сохранения изменений в контексте сохраняет все изменения в базе данных. Есть ли способ контролировать это?

Спасибо Gary

Ответы [ 2 ]

7 голосов
/ 04 ноября 2010

Вы не должны использовать единый контекст данных для всех операций во время жизни вашего приложения.Раскрутите сеанс (создайте контекст данных) для каждой элементарной операции, которую вы хотите выполнить.Вызовите SaveChanges для отправки операции, просто удалите контекст, не сохраняя изменений, чтобы «отменить» операцию.

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

Звучит так, будто вы хотите работать автономно.

  1. Загрузить всех своих сотрудников из контекста данных, используя опцию NoTracking.Это приведет к загрузке объектов и их немедленному отключению от контекста данных.
  2. Завершение контекста данных.
  3. Когда вы нажмете «Сохранить», создайте новый контекст данных и присоедините контакт, который хотите сохранить.в новый контекст данных;у вас будет возможность пометить контакт как измененный.
  4. SaveChanges в этом контексте.Он отправит обновление в постоянное хранилище, например, SQL для этого контакта.
  5. Завершите контекст.
  6. Перейдите к шагу 3.

Возможно, вы также захотитеизучите различные шаблоны EF, такие как сущности самопроверки, которые могут немного облегчить вашу жизнь, поскольку они генерируют сущности, которые могут самостоятельно отслеживать изменения вне контекста данных;однако это может быть излишним для простого приложения.

...