EF4.3の調査を開始します。
ナビゲーションプロパティを使用すると、非常に簡単になりますが、ある領域で懸念があり、他の人がこのシナリオにどのように対処するかについてアドバイスをいただければ幸いです。
ネストされたプロパティを遅延ロードする場合のシナリオ-Store.Programme.ProgrammeAccountNumberを取ります。
ストアは、クエリを実行しているエンティティです。
Programはエンティティであり、Storeのナビゲーションプロパティでもあり、ProgrammeAccountNumberはProgrammeのプロパティです。
元のエンティティを取得するには、次のように記述します。
public static IQueryable<Store> FindActive()
{
var r = new ReadRepo<Store>(Local.Items.Uow.Context);
return r.Find(s => s.StoreStatusId == (int)StoreStatus.Active);
}
しかし、プログラムに独自のステータスフィールドがあると仮定しましょう。
var store = StoreBL.FindActive()
.Where(s => s.Programme != null && s.Programme.ProgramStatusId = (int)ProgrammeStatus);
クエリが元のエンティティを超えるたびに、各エンティティのすべての条件を覚えておくのは簡単ではありません。
開始日と終了日、ステータスがあり、店舗に属し、ステータスのあるプログラムがあり、運営しているカテゴリがライブの場合に有効な商品がある一連のプロパティを想像してみてください。
これに効果的に対処するためのテクニックが必要だと思いましたか、それとも遅延読み込みを控えめに使用する場合ですか?
アドバイスをいただければ幸いです。