Где в коде и что лениво загружено, транзакция или сессия? - PullRequest
1 голос
/ 16 сентября 2011

Эта настройка nhibernate предполагает, что это лучше, потому что я считаю, что он не запускает транзакцию, когда сеанс открывается, если он не вызван явным образом, то есть загружается с отложенной загрузкой.

Я не могу понять, где вкод, в котором происходит эта отложенная загрузка: http://nhforge.org/blogs/nhibernate/archive/2011/03/03/effective-nhibernate-session-management-for-web-apps.aspx

Может кто-нибудь объяснить, что такое подход лучше, чем открытие новой транзакции для веб-запроса?

1 Ответ

2 голосов
/ 16 сентября 2011
  1. автор не предполагает, что это лучше, потому что он не запускает транзакцию (на самом деле он видит функцию BeginSession), а потому, что он не всегда запускается сессия .
  2. «ленивый» относится к инициализации сеанса.
    Значение - сеанс запускается только тогда, когда он необходим.
    (Вы путаете его с отложенной загрузкой, которая связана с загрузкойзначения из базы данных и здесь не актуально).

«Ленивая» часть, как объясняет автор, заключается в том, что функция OpenSession не вызывается до тех пор, пока она не понадобится (т.е. кто-то пытается использовать объект Session).

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