我有两个彼此具有多对多关系的对象。
我在数据库优先方法中使用 Entity Framework 。
我的数据库探查器显示,每次我获取一组对象 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
中明确设置构造函数。
我是不是遗漏了什么,或者处理方法不对?我是否应该只删除导航属性并通过其他查询显式加载我需要的内容?
最佳答案
在专家在场的情况下,我不愿意问这个问题 :) 但是在这种情况下,在 DbContext 上设置 ProxyCreationEnabled=false 没有帮助吗?对不起,如果这太"new"了
关于c# - Entity Framework 中的延迟加载项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10419930/