NHibernate 的session

最近使用NHibernate,本来想提高一下性能,就是用lazy属性,但是发现,当查询出结果后,关闭了session,然后去访问 被 lazy了的属性集合,报错了

failed to lazily initialize a collection, no session or session was closed

然后,只能在查询的时候,使用默认关闭session,而放弃使用手动关闭session。


后来在网上找了些资料,把session保存在HttpContext中,在dispose的时候 关闭 Session,这样可以保持Session对象,并且是线程安全。

注:不需要在使用的时候,关闭Session,因为session会在Dispose方法中关闭。

你可能感兴趣的:(Hibernate)