3

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

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

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

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

4

1 回答 1

0

在专家面前,我不愿意问这个:) 但是在这种情况下,在 DbContext 上设置 ProxyCreationEnabled=false 没有帮助吗?对不起,如果这太“新”了一点

于 2012-05-18T18:51:42.683 回答