2011-09-16 16 views
1

這個nhibernate安裝程序建議它更好,因爲我相信當會話打開時它不會啓動一個事務,除非它被稱爲延遲加載。在代碼中什麼位置以及延遲加載的事務或會話?

我似乎無法掌握在代碼這個懶加載正在發生:這種方法http://nhforge.org/blogs/nhibernate/archive/2011/03/03/effective-nhibernate-session-management-for-web-apps.aspx

有人可以解釋的更好,然後每個Web請求打開一個新的事務?

回答

2
  1. 筆者並不認爲這是更好,因爲它沒有啓動事務(它實際上does-看到BeginSession功能),但因爲它沒有總是開始會話
  2. 「懶」指的是會話的初始化。
    含義 - 會話僅在需要時啓動。
    (你把它和延遲加載混淆起來,這與加載數據庫中的值有關,並且在這裏不相關)。

的「懶惰」的部分是,正如作家解釋,直到它所需的OpenSession功能不叫(即有人試圖使用Session對象)。