C# 您是否可以注册一个NHibernate事件,以便在延迟加载时触发该事件

C# 您是否可以注册一个NHibernate事件,以便在延迟加载时触发该事件,c#,nhibernate,lazy-loading,C#,Nhibernate,Lazy Loading,当我的服务器在某种调试模式下运行时,我会对记录延迟加载感兴趣(不管是执行了外键还是加载了子集合)。有人知道NHibernate是否揭露了这样的事件吗 编辑:我不仅仅想启用nhibernate log4net日志记录(我目前在下面的警告中抑制了它),我实际上还想捕获一个事件,以便可以按照我的意愿处理它。例如,在web服务调用结束时,我会记录web服务调用花了多长时间,我可能会记录一些数据库统计信息,包括在调用过程中发生的延迟加载数等。您看过了吗?它应该让您了解nHibernate的行为,并让您更好

当我的服务器在某种调试模式下运行时,我会对记录延迟加载感兴趣(不管是执行了外键还是加载了子集合)。有人知道NHibernate是否揭露了这样的事件吗

编辑:我不仅仅想启用nhibernate log4net日志记录(我目前在下面的警告中抑制了它),我实际上还想捕获一个事件,以便可以按照我的意愿处理它。例如,在web服务调用结束时,我会记录web服务调用花了多长时间,我可能会记录一些数据库统计信息,包括在调用过程中发生的延迟加载数等。

您看过了吗?它应该让您了解nHibernate的行为,并让您更好地了解thigns是如何运行的


编辑查看此问题:

预加载
后加载
事件…

尝试实现
IIInitializeCollectionEventListener
或覆盖
DefaultInitializeCollectionEventListener
。这将在集合的延迟加载期间激发。至少第一次是这样。不确定从缓存加载集合时是否触发。

事实上,我经常使用NHProf。但是我仍然在寻找这个事件。关于你的编辑。。。谢谢你指出那篇文章。但糟糕的是,他的解决方案非常粗糙。这篇文章已经发表5年了,不过,在这段时间里,可能增加了一些新的事件。如果我发现了什么,我会回来更新的。欢迎光临,我甚至没有看解决方案,只是看到它是相同的基本问题。如果你能想出一个解决办法,祝你好运,让我们知道。我看到有人提到他们。他们能告诉您负载是由于延迟加载情况引起的吗?不,这些不会因延迟加载而触发。