【问题标题】:Castle Active Record - Default Setting For Lazy LoadingCastle Active Record - 延迟加载的默认设置
【发布时间】:2012-08-13 12:08:40
【问题描述】:

全部,

1

请确认,但我今天观察到,获取集合的默认设置至少是:Lazy = false(与 NHibernate 相反)。即,当您未在 HasMany() attr 上指定 Lazy 时,会立即获取集合。

2

另一个问题:我在我的订单实体上指定了引用客户实体 BelongsTo(Lazy = FetchWhen.OnInvoke),该设置不适用,当我收到订单时,我会急切地获取我的客户。那里发生了什么事?为什么所有退货订单都急于吸引客户?修改后,当我在客户实体本身 (ActiveRecord(Lazy = true)) 上添加惰性时,BelongsTo() 上的惰性设置按预期工作。因此,看起来 BelongsTo(Lazy = FetchWhen.OnInvoke) 仅在引用的实体通过 (ActiveRecord(Lazy = true)) 显式启用延迟加载时才有效。

3

城堡活动记录配置文件中有没有办法为所有实体设置 Lazy = true 的全局设置?

【问题讨论】:

    标签: nhibernate castle-activerecord


    【解决方案1】:

    @1 确认

    @2 如果我没记错的话,你必须设置 [BelongsTo(..., Lazy = FetchWhen.OnInvoke, Fetch = FetchEnum.Select)] 然后甚至应该加载 [ActiveRecord(..., Lazy = true)]随心所欲。

    问候 胡伊·朱卡

    【讨论】:

    • @2:不幸的是,如果您不设置 ActiveRecord(Lazy=true),则 BelongsTo (Lazy) 设置将被忽略。真令人困惑!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多