实体框架中的延迟加载项

时间:2012-05-02 18:54:47

标签: c# .net entity-framework lazy-loading

我有两个彼此有多对多关系的对象。

我在数据库优先方法中使用实体框架。

我的数据库分析器显示每次我获取一组对象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

我错过了什么,或者接近错误的方式了吗?我应该删除导航属性并通过其他查询显式加载我需要的内容吗?

1 个答案:

答案 0 :(得分:0)

在专家在场的情况下,我不愿意问这个:)但是在这种情况下,在DbContext上设置ProxyCreationEnabled = false无济于事吗?对不起,如果这是一个点“太新”了点