私は EF5 Code First を使用しており、次のようなクエリがあります。
var query = DbSet.Include(ent => ent.Websites)
.Include(ent => ent.Addresses)
.Include(ent => ent.IndustryType)
.Include(ent => ent.Factors)
.Include(ent => ent.Factors.Select(fact => fact.Objectives))
.Include(ent => ent.DmpNodes)
.Include(ent => ent.DmpNodes.Select(node => node.DmpNodeConnections));
4 つ以上のインクルードを使用すると、クエリの実行が非常に遅くなります。その理由はすでにわかっています。
たとえば、DmpNodes に含まれるナビゲーション プロパティを遅延読み込みで読み込むこともできますが、その結果、何百ものクエリが発生します。
このクエリを分割して、最初に Addresses、IndustryType、Factors などのエンティティをロードできるようにする方法を探しています。そして、2 番目のクエリで、これらのエンティティを残りで埋めます。
これは可能ですか、それとも別の良い解決策がありますか?