Управление транзакциями NHibernate, если сессия закрыта - PullRequest
3 голосов
/ 08 ноября 2011

Я заранее извиняюсь, если это дубликат, но я немного осмотрелся и не смог найти этот вопрос.

Допустим, у меня есть сеанс NHibernate, и внутри него у меня есть транзакция.Если я закрою сеанс, можно ли предположить, что транзакция будет зафиксирована / откатана (в зависимости от особенностей того, что происходит в транзакции)?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 08 ноября 2011

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

1 голос
/ 08 ноября 2011

С NHForge.org :

ITransaction выполнит неявный откат, когда расположены, если явный вызов Commit или Rollback уже произошло. Этот неявный откат может указывать на отсутствующий вызов Фиксация, поэтому генерирует предупреждение в NHibernate Profiler . если ты намерены откатить, сделайте это явно. Ваш код будет легче понимать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...