尝试访问延迟引用时抛出异常

时间:2014-07-14 12:36:02

标签: c# nhibernate fluent-nhibernate

我的问题非常简单,我完全相信那里有人会帮助我。

我尝试使用NHibernate调整延迟初始化的默认行为。我们知道,可以采用的两种方式是启用或禁用延迟加载。

但是当涉及到StatelessSession时,由于不支持Lazy,所有未获取的引用在尝试访问它们时都会抛出异常。 这就是我想要重现的内容,但使用常规的 ISession


我已经尝试过:

  • 将Configuration.SetInterceptor(...)用于自定义拦截器。这里我设法使所有引用变为" null",但即使获取的引用也变为null。此外,它会对错误提出错误的想法;
  • 实现一个自定义ISessionImplementor来装饰ISession实现。我决定使用这种方法,因为无状态会话实现抛出了我试图在调用ImmediateLoad方法时重现的确切异常。最后它没有用,但由于显而易见的原因 - SessionImpl根本就没有调用ImmediateLoad;

我的配置中的一些信息:

  • 为所有映射启用了延迟加载。我使用Conventions.Add(LazyLoad.Always());
  • 映射不是自动映射,而是自动生成"自动生成" (框架)。

期待为此问题找到解决方案。非常感谢=)

编辑:是的,我想要的是重新发布一个LazyInitializationException。

0 个答案:

没有答案