c# - Entity Framework 中的延迟加载项目

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

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

我在数据库优先方法中使用 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/

相关文章:

c# - 正则表达式电话号码和电话分机

c# - 如何在 .NET GUI 标签中显示上标字符?

c# - 将秒数添加到具有 ArgumentOutOfRangeException 的有效 double 结果的 DateTime

.net - Entity Framework 4 保存并取消

c# - 在 Code First Fluent API 中定义关系的优势?

javascript - 如何复制 wwwroot 中的图片,或者如何引用它们?

javascript - 如何为自定义实体设置多个条目?

c# - Azure 应用服务 - 自定义身份验证 - 不允许 HTTP 动词

javascript - 在 .NET 环境中优雅地缩小动态生成的 javascript?

c# - 在 Entity Framework 中使用动态 where 子句