做的主要区别会是什么?session.Clear()
与。session.GetSessionImplementation().PersistenceContext.Clear()
?
在我的例子中,理想情况下,我只清除代码中上下文切换的缓存,因为我想防止从以前的上下文中懒加载对象。而且,我也不会得到我现在得到的错误。
NHibernate.LazyInitializationException : Initializing[...#34]-failed to lazily initialize a collection of role: [...],没有会话或会话被关闭。
session.Clear()
清理PersistenceContext并取消所有的待执行操作(保存、更新和删除)。