0

EF を使用して、Web サイトで車を検索する検索機能を実装しています。正常に動作していますが、パフォーマンスを最適化したいと考えています。車にはメーカーとモデル、および多数の画像があります。.Include() を使用して make とモデルを含めるのは簡単ですが、画像に問題があります... 現時点では、メイン クエリが実行されており、EF は各検索結果のデータベースにクエリを実行して、画像。これをすべて 1 つのクエリに含めたいと思います。.Include() を使用できますが、明らかにすべての画像が読み込まれ、実際には 1 つの (任意の) 画像だけが必要です。これを行う方法はありますか?

ありがとうございます!

4

1 に答える 1

0

画像には別のクエリを使用する必要があります。例えば:

context.Configuration.LazyLoadingEnabled = false;
var cars = context.Cars.Include(c => c.Model).Where(c => c.Type == "abc").ToList();
var images = context.Images.Where(i => i.Car.Type == "abc" && ...).ToList();

すべてが正しく設定されていれば、EF は車と画像の間の関係を修正し、各車には、2 番目のクエリによって読み込まれた画像だけで満たされた画像のナビゲーション プロパティが必要です。

于 2012-10-31T08:37:06.627 に答える