2011-08-02 3 views
1

私はOrderLineと関連付けられたXPOドメインオブジェクトを持っています。ために私は子コレクションのXPO計算プロパティselect de n + 1

public decimal Profit 
{ 
    get 
    { 
     decimal result = 0; 
     foreach (OrderLine ol in this.OrderLines) 
     { 
      result += ol.Profit.AsMoney() * ol.Quantity; 
     } 
     return result; 
    } 
} 

として実装されているプロパティの利益を持っているが、これは注文ごとにオーダーラインごとにクエリを実行するために注文のリストが発生します。どのようにして2番目のクエリで注文列のコレクションを読み込んでメモリに結合することができますか、それが実行可能でない場合、実際にアクセスされるまで何らかの方法でProfitプロパティの読み込みを防止できますか?

答えて

1

あなたはまた、DevExpress社コード中央E305から、このサンプルを見て検討し、あなたのタスク

Session.PreFetch(ObjectList, "OrderLines"); 

を達成するためにSessionPrefetchメソッドを使用することができます。計算されたプロパティがキャッシュされています。その結果、パフォーマンスはさらに向上します

関連する問題