【发布时间】:2012-02-16 04:06:26
【问题描述】:
我创建了一个实现ILoadEventListener 的类,并实现了一个OnLoad() 方法(当然——否则它甚至不会编译)。创建“new NHibernate.Cfg.Configuration()”后,我添加as the documentation says:
configuration.EventListeners.LoadEventListeners = new ILoadEventListener[] {
new MyListener(),
new NHibernate.Event.Default.DefaultLoadEventListener()
};
但是,它似乎从来没有被调用过——我已经在我的 OnLoad() 中添加了日志语句,并在调试器中设置了一个断点——即使使用我的应用程序的方式可以清楚地从数据库中获取对象这个 NHibernate 会话工厂。
我错过了什么?
编辑:我浏览了源代码(NHibernate 事件文档相当稀疏),发现对应于 IInterceptor 的事件实际上是 PreLoad,而不是 Load,所以我尝试使用它,并且确实触发了。所以我现在可以使用它,但我仍然不知道预加载/加载/后加载是什么。
【问题讨论】:
标签: c# .net nhibernate