В данный момент я пытаюсь реализовать код, который обрабатывает исключения из устаревшего состояния (т. Е. Другой пользователь изменил эту строку и т. Д.), Когда я совершаю транзакцию с использованием nhibernate.Идея состоит в том, чтобы, когда возникает исключение при сбросе, для отката транзакции «исправить» сущности различными способами, а затем повторно выполнить весь код транзакции снова.
Моя проблема заключается в том, когда транзакция откатываетсясвойство версии сущностей все еще было увеличено для тех сущностей, которые успешно обновили базу данных, даже если транзакция в базе данных была откатана (это фактически также верно для сущности, которая провалила транзакцию).Это означает, что второй запуск никогда не будет успешным, потому что версия не синхронизирована с базой данных.
Как мне решить эту проблему?