Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪个集合导致NHibernate异常?_Nhibernate_Castle Activerecord - Fatal编程技术网

哪个集合导致NHibernate异常?

哪个集合导致NHibernate异常?,nhibernate,castle-activerecord,Nhibernate,Castle Activerecord,我得到了众所周知的NHibernate异常“非法尝试将一个集合与两个开放会话关联”。我对它进行了研究,我了解它的原因,但我的问题是,当我无法调试它时,它会在现场随机出现 我的问题是,是否有办法查询异常或当前NH状态,以找出是哪个集合或对象导致了这种情况 顺便说一句,我确实成功地从SessionScope继承并重写了一些函数以向其添加日志记录,但这对异常本身并没有帮助。在抛出异常时附加调试器可以提示是什么集合导致了这一情况。您可能会保存一个特定的对象,这样您就可以尝试扣除它引用的集合。如果这没有帮

我得到了众所周知的NHibernate异常“非法尝试将一个集合与两个开放会话关联”。我对它进行了研究,我了解它的原因,但我的问题是,当我无法调试它时,它会在现场随机出现

我的问题是,是否有办法查询异常或当前NH状态,以找出是哪个集合或对象导致了这种情况


顺便说一句,我确实成功地从SessionScope继承并重写了一些函数以向其添加日志记录,但这对异常本身并没有帮助。

在抛出异常时附加调试器可以提示是什么集合导致了这一情况。您可能会保存一个特定的对象,这样您就可以尝试扣除它引用的集合。如果这没有帮助,您可以尝试查找NHibernate会话的实例。在调试器中找到它后,您可以查看session.Statistics.EntityKeysCollectionKeys。这些是NHibernate用于跟踪对象的内部结构。希望它能有所帮助……

我的问题是这种情况在字段中发生(而且很少发生),因此发生时我无法附加调试器。我确实设法获得了statistics EntityKey,但它几乎是业务事务中加载的每个实体,因为这是一个ERP应用程序,所以它相当大。