当前位置: 首页 > 知识库问答 >
问题:

N 1使用Include和AsNoTracking时查询中的选择

朱乐逸
2023-03-14

我有下一个关系(只是示例)用户0/1-*故事当我想获得包含用户的故事列表时,我会进行下一个查询。

context.Stories.Include(s => s.User).AsNoTracking().ToList()

我注意到ef向db发出了额外的请求以获取用户(但这不应该是因为我使用了include)。没有AsNoTrack(),一切都很好。

看起来这是一个可为null的关系问题,因为不允许为null的关系可以很好地工作。

有人有类似的问题吗?可能是“允许空”关系的预期行为。

共有1个答案

杨慎之
2023-03-14

您可以明确关闭延迟加载,如下所示:

db.Configuration.LazyLoadingEnabled = false;
db.Configuration.ProxyCreationEnabled = false;            

EF将不会延迟加载任何其他实体。您应该检查是否无意中加载了一些其他链接实体。

 类似资料:
  • 我已尝试获取以下代码的结果: 在某些情况下,我需要在上面使用“In cause”。我尝试使用获得结果,但对于param:ref它不能在本机查询中工作,但在ejb ql中,我只是得到了以下错误消息: null 我累坏了,大家能给我一些建议吗?thx寻求帮助

  • 我一直在使用Jooq生成的代码模式进行如下查询: 它与RecordMapperProvider一起根据表和模型类确定使用哪个RecordMapper: 这是我试图实现的一个例子: 新的查询包含了该组件,并且它正在改变传递给RecordMapperProvider的RecordType。这个新的RecordType不再与生成的代码匹配。 我的问题是:是否有一种解决方案,可以在查询中使用distinc

  • 问题内容: 我有一个关于MYSQL中的选择查询的问题 我有两个不同的表,我想获得一定的结果 我使用了COUNT方法,该方法只给我结果(> = 1) 但实际上,我想使用包含零的所有计数怎么做? 我的查询是: 第一张桌子:Content_hits 第二张表:Content_tag 结果但不完整 例如:tag_id = 1的Subsrciber6应该具有count(*)= 0 问题答案: 现在,您已经进

  • 我使用SQL服务器2014与排序。 我有一个C#程序,可以将汉字插入我的数据库,例如: 在SQL Server Management Studio中,我可以清楚地看到它,也可以通过N搜索它。”你". 问题是,对于某些角色来说,它不起作用: 当我的C#程序开始插入这两个字符时,我引发了一个约束唯一异常(因为我将它作为汉字的唯一约束放入数据库)。 InnerException={“违反了唯一键约束“A

  • 我无法使用category和date列获取行的ID。每当我使用LiveData观察方法更新我的时,观察方法都会在最后执行。 例如,代码: 这是Logcat的结果: 第一:ID:0 第三:ID: 0 日志::ID:0 第二:身份证1 为什么代码在

  • 如果我通过“.ASC”删除组的第二部分,但当我这样做时,数据是不正确的。它为什么要这样做,我如何修复它,并且仍然按照表1分组,除了表3之外,还要先按表1分组。 先进的谢谢! 我有时间接受完整的查询,并将表拉到一个通用表单,以便在没有客户端数据的情况下发布。我能够将模式添加到sqlfiddle中,但如果没有我使用的数据,结果可能会有所不同,而且由于字符的限制,我甚至无法将表前的100行(共7行)放入