0

全部,

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 的全局设置?

4

1 回答 1

0

@1 已确认

@2 如果我没记错的话,您必须设置 [BelongsTo(..., Lazy = FetchWhen.OnInvoke, Fetch = FetchEnum.Select)] 然后甚至 [ActiveRecord(..., Lazy = true)] 应该根据需要加载.

问候 Juy Juka

于 2012-08-14T03:03:35.487 回答