Castle Active Record - 延迟加载的默认设置

时间:2012-08-13 12:08:41

标签: nhibernate castle-activerecord

所有

1

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

2

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

3

城堡活动记录配置文件中是否有一种方法可以为所有实体设置Lazy = true的全局设置?

1 个答案:

答案 0 :(得分:0)

@ 1确认

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

问候 Juy Juka