代码中的哪些内容以及什么是延迟加载的事务或会话?

时间:2011-09-16 16:13:31

标签: c# asp.net-mvc nhibernate

这个nhibernate设置表明它更好,因为我相信它在会话打开时不会启动事务,除非它被称为延迟加载。

我似乎无法掌握代码中这个延迟加载的位置:http://nhforge.org/blogs/nhibernate/archive/2011/03/03/effective-nhibernate-session-management-for-web-apps.aspx

有人可以解释这种方法比根据网络请求打开新交易更好吗?

1 个答案:

答案 0 :(得分:2)

  1. 作者并不认为它更好,因为它不会启动事务(实际上它确实看到了BeginSession函数),但因为它不会总是启动会话
  2. '懒惰'是指会话的初始化。
    含义 - 会话仅在需要时启动 (你将它与延迟加载混淆,这与从数据库加载值有关,在这里不相关)。
  3. 正如作者所解释的那样,“懒惰”部分是OpenSession函数在需要之前不被调用(即有人试图使用Session对象)。