在代码的什么地方,什么是惰性加载的,事务还是会话



这个nhibernate设置建议它更好,因为我认为它不会在会话打开时启动事务,除非它被显式调用,即延迟加载。

我似乎不明白代码中这个延迟加载是在哪里发生的:http://nhforge.org/blogs/nhibernate/archive/2011/03/03/effective-nhibernate-session-management-for-web-apps.aspx

有人能解释一下这种方法比每个web请求打开一个新的事务更好吗?

  1. 作者并不认为它更好,因为它不启动事务(实际上它确实-参见BeginSession函数),而是因为它不总是启动会话
  2. 'lazy'是指会话的初始化。
    意思是-会话只在需要时才启动。
    (你会把它与延迟加载混淆,后者与从数据库加载值有关,与这里无关)。

"懒惰"部分是,正如作者解释的那样,OpenSession函数直到需要时才被调用(即有人试图使用Session对象)。

最新更新