2012-02-09 3 views
4

イム:マッピング式

public virtual int ID { get;set;} 
public virtual string Name { get;set;} 
public virtual Event Master { get;set;} 
public virtual int ChildrenCount { get;set;} 

Childrencountがマッピングされている:

Map(x => x.ChildrenCount).LazyLoad().Formula("(Select count(*) from Events Where Events.Master_id=Event_id)"); 

は時々私はChildrenCountの今大切にしたいと私は熱心にFetchmodeを設定

store.SetFetchMode("ChildrenCount",NHibernate.FetchMode.Eager);    

しかし、システムはまだlazyloadsです。

助けが必要ですか?すべてのあなたの怠惰な性質をロードします

from Event fetch all properties 

答えて

0

あなたはHQLでのヒント「すべてのプロパティを取得」を使用することができます。

+0

問題が解決しているかわかりません。ここまでで、リストを作成してそれを反復し、それを繰り返して、それぞれに対して選択カウントを実行しました。私はなぜstore.SetFetchMode( "ChildrenCount"、NHibernate.FetchMode.Eager);何も効果がありません –

+0

私はそれがあなたが記述している問題を正確に解決すると思います。 SetFetchModeは、Lazyプロパティではなく、ChildrenCountと同じコレクションの関連付けに使用されます。しかし、あなたのようなサウンドは、プロジェクションを代わりに使用するなど、さまざまな方法で問題を解決できます。 – jakobandersen

関連する問題