ObjectContext.RollbackChanges — метод

Отменяет все изменения в контексте объектов, которые не были сохранены методом AcceptChanges, SaveObject<T>(T) или SaveObjects<T>(IEnumerable<T>).

Синтаксис

public void RollbackChanges()

Заметки

Отменяются изменения объектов, имеющих следующие флаги в состояниях (ObjectStateFlags): ObjectStateFlags.Modified, ObjectStateFlags.Added или ObjectStateFlags.Deleted. Перед непосредственной отменой изменений, метод взывает событие ObjectContext.BeforeRollback, которое может быть использовано для прекращения процедуры отката.

После вызова ObjectContext.AcceptChanges отмена принятых изменений будет невозможна.

Примеры

В качестве примера приведён код получения двух документов, в каждый из которых вносится определённое изменение. Изменения могут быть отменены при проверке флага roolback

(1)

Document documentA = objectContext.GetObject<Document>(new Guid("00000000-0000-0000-0000-000000000000"));
documentA.Description = "Описание не корректно"; (2)

Document documentB = objectContext.GetObject<Document>(new Guid("00000000-0000-0000-0000-000000000001"));
documentB.MainInfo.Name = "Название не корректно"; (3)

if (roolback) (4)
{

 objectContext.RollbackChanges(); (5)
}
1 Инициализация контекста объектов.
2 Получение и изменение документа.
3 Флаг разрешающий откат изменений.
4 Отмена всех изменений.