互いに多対多の関係を持つ 2 つのオブジェクトがあります。
データベース ファーストのアプローチで Entity Framework を使用しています。
私のデータベース プロファイラーは、オブジェクト A の 1 つのセットをフェッチするたびに、A の各要素に対してオブジェクト B の他のセットをロードすることを示しています。ナビゲーション プロパティを介して。
オブジェクトにアクセスするコードは、エンティティが私の DbContext である一般的なアプローチを使用します
public virtual IQueryable<T> GetAll()
{
IQueryable<T> query = entities.Set<T>();
return query;
}
両方のナビゲーション プロパティが実装されてvirtual ICollection<T>
おり、コンストラクターConfiguration.LazyLoadingEnabled = true
で明示的に設定しています。DbContext
私は何かを見逃していますか、それとも間違った方法でアプローチしていますか? ナビゲーション プロパティを削除し、他のクエリを介して必要なものを明示的にロードする必要がありますか?