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

Nhibernate Castle Active Record-延迟加载的默认设置,nhibernate,castle-activerecord,Nhibernate,Castle Activerecord,全部, 1. 请确认,但我今天观察到,获取集合的默认设置至少是:Lazy=false(与NHibernate相反)。i、 e.如果没有在HasMany()属性上指定Lazy,则会立即获取集合 2. 另一个问题:我已经在引用客户实体BelongsTo(Lazy=FetchWhen.OnInvoke)的订单实体上指定了该设置不受尊重,当我收到订单时,我会让我的客户急切地抓取。那里发生了什么事?为什么所有退回的订单都会让客户迫不及待地上门?修补之后,当我在客户实体本身(ActiveRecord(laz

全部,

1. 请确认,但我今天观察到,获取集合的默认设置至少是:Lazy=false(与NHibernate相反)。i、 e.如果没有在HasMany()属性上指定Lazy,则会立即获取集合

2. 另一个问题:我已经在引用客户实体BelongsTo(Lazy=FetchWhen.OnInvoke)的订单实体上指定了该设置不受尊重,当我收到订单时,我会让我的客户急切地抓取。那里发生了什么事?为什么所有退回的订单都会让客户迫不及待地上门?修补之后,当我在客户实体本身(ActiveRecord(lazy=true))上添加lazy时,BelongsTo()上的lazy设置会按预期工作。因此,看起来只有当引用的实体通过(ActiveRecord(Lazy=true))显式启用了延迟加载时,才会使用BelongsTo(Lazy=FetchWhen.OnInvoke)

3. 在castle活动记录配置文件中是否有方法为所有实体设置Lazy=true的全局设置?

@1已确认

@2如果我没记错的话,您必须设置[BelongsTo(…,Lazy=FetchWhen.OnInvoke,Fetch=FetchEnum.Select)],然后即使是[ActiveRecord(…,Lazy=true)]也应该按您的需要加载

问候 Juy Juka

@2:不幸的是,如果您不设置ActiveRecord(Lazy=true),则BelongsTo(Lazy)设置将被忽略。真让人困惑!