【问题标题】:NHibernate: many-to-one and lazyNHibernate:多对一和懒惰
【发布时间】:2011-08-06 21:51:34
【问题描述】:

关于 NHibernate 1.2 (webapp C# aspnet 3.5) 和延迟加载有一些我不明白的地方,也找不到明确的答案:多对一支持延迟加载吗?

假设我们有一些Person 对象和一个Squeletton 对象。这两个对象都很大,具有许多属性。一个Person 有一个且只有一个Squeletton:myPerson.Squelleton。

Person的映射:<many-to-one class='Squeletton' name='Squeletton' column='id_squeletton' lazy='proxy' />

我不希望每次 Person 时都加载 Squeletton 属性。使用 NHProfiler,即使我没有访问该属性,我也可以看到对 Squeletton 的“选择”请求。

出了什么问题:映射?多对一使用不好? NHibernate版本?如何在 Squeletton 属性上进行一些延迟加载?

提前致谢。

【问题讨论】:

    标签: nhibernate lazy-loading


    【解决方案1】:

    延迟加载是默认设置,但它应该适用于您的映射。

    您是否 100% 确定您没有访问该物业?也许在调试器中观看它?

    无论如何,您当然应该将 NHibernate 更新到最后一个版本 3.2,因为 1.2 确实已经过时并且多年来一直不受支持(就像 2.x 一样)

    【讨论】:

    • 我已经清除了调试器并在我的属性中设置了一个断点,它没有被调用。我正在构建一个示例应用程序,我没有重现我的问题......正如你所说,映射对于延迟加载是可以的。我会在一些测试后回来。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 2015-09-06
    • 2016-07-03
    • 1970-01-01
    相关资源
    最近更新 更多