我有两个彼此有多对多关系的对象。
我在数据库优先方法中使用实体框架。
我的数据库探查器显示,每次我获取一组对象 A 时,它都会为 A 中的每个元素加载另一组对象 B。我假设使用延迟加载,这不会发生,或者访问时会获取 B通过导航属性。
访问对象的代码使用通用方法,其中实体是我的 DbContext
public virtual IQueryable<T> GetAll()
{
IQueryable<T> query = entities.Set<T>();
return query;
}
这两个导航属性都实现为virtual ICollection<T>
并且我在构造函数中Configuration.LazyLoadingEnabled = true
明确设置。DbContext
我错过了什么,或者以错误的方式接近这个?我是否应该删除导航属性并通过其他查询显式加载我需要的内容?