ObjectContext.RollbackChanges — метод
Отменяет все изменения в контексте объектов, которые не были сохранены методом AcceptChanges, SaveObject<T>(T) или SaveObjects<T>(IEnumerable<T>).
-
Пространство имён:
DocsVision.Platform.ObjectModel -
Сборка:
DocsVision.Platform.ObjectModel.dll
Заметки
Отменяются изменения объектов, имеющих следующие флаги в состояниях (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 | Отмена всех изменений. |