Пример установил бы право контекста, пример ниже захватывает различные состояния объекта, который должен быть возвращен (откат).
Состояние 1 - зарегистрировано 01 марта 2010 года
Column1 Column2
Data1 0.56
Состояние 2 - зарегистрировано 02 марта 2010 года
Column1 Column2
Data1 0.57
Состояние 3 - Зарегистрировано 03.03.2010
Column1 Column2
Data1 0.58
Пользователь замечает, что state3 - это не то, в чем он собирался находиться, и решает вернуться обратно в state2.
Один из подходов, который я могу придумать, без изменения сущности, заключается в «аудите» всех вставок / обновлений, как показано ниже, информация отката собирает данные непосредственно перед обновлениями / модификациями сущности, так что она применяется в порядке, когда вам нужно вернуться. Обратите внимание, что изменение схемы объекта не является вариантом.
Откат - R1, записанный 01 марта 2010 года
Column1 Column2
Data1 0.56
Откат - R2 Записано 02 марта 2010 года
Column1 Column2
Data1 0.56
Откат - R3 Записано 03 марта 2010 г.
Column1 Column2
Data1 0.57
Итак, чтобы перейти к состоянию2, мы начнем с информации отката R1, применив к нему R2.
Есть ли лучший подход для достижения этого?
Спасибо за ваше время.