在ayende的关于NHibernate审计的博客评论中提到了需要使用
据我所知,这与会话刷新时发出的SQL操作顺序有关。(例如:如果我想在pre-insert事件中执行一些删除操作,但是会话已经完成了删除操作,我需要一种方法来注入它们。) 然而,我没有找到关于此功能和行为的文档。 问题:
session.GetSession(EntityMode.Poco)
来创建一个子会话。据我所知,这与会话刷新时发出的SQL操作顺序有关。(例如:如果我想在pre-insert事件中执行一些删除操作,但是会话已经完成了删除操作,我需要一种方法来注入它们。) 然而,我没有找到关于此功能和行为的文档。 问题:
我对子会话的理解正确吗?
我应该如何使用它们以及在哪些情况下使用它们?
它们是否有文档记录?
它们是否可以用于会话“作用域”?
(例如:我打开了将保存某些数据的主会话,然后从主会话创建了2个子会话。我期望两个子范围将被分开,但它们将共享主会话缓存中的对象。这是真的吗?)它们是否是NHibernate中的一流公民,还是只是支持某些边缘情况的hack?