私はLinqでよく使う1種類のリクエストを受け取りました。Linq:テーブル/リストをパラメータとしてリクエストを最適化する方法は?
IDの項目(またはその他の項目)が項目のリストにある一連のデータが必要です。 データを読み込むために(使用された)インクルードがたくさんあるので、これは重い要求です。
ですから、例えば:私はこのような構造で、人とテーブルをしました:
Id; Name; Age; ...
いくつかの外部キーでリンクテーブル、と私はそれらをロードする必要があるとして、この表データ: 車、会社、住所、...
そして今、私は特別な年齢を持つ人々のすべてのデータを取得したい:
List<int> ages = new List<int>(){7,17,27,37,47,57,67,77,87};
using (MyDatabaseEntities context = new MyDatabaseEntities())
{
return context.Persons.Include("Car").Include("Company").Include("Address")
.Where(p=>ages.Contains(p.Age)).ToList();
}
問題は、私の「年齢」リストが変更されないことをLinqが知りませんし、すべてのデータ(Car、Company、...)正しい年齢であればすべての結果をチェックします。
So.
- 私は正しいですか?
- これを避ける方法は?