EF的inclue加载?

csover8 2017-11-20 04:43:35
表A结构
fileid filename
1 peter.xls

表B结构
summaryid summaryName fileid
1 bb 1
2 cc 1

表C结构
memberid memberName summaryid
1 member1 1
2 member5 2

怎么样通过A结构的fileid值,查询B的记录,与C的记录

files.include(x=>x.B).??????


谢谢


...全文
162 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
webdiyer 2017-11-22
  • 打赏
  • 举报
回复
files.include(x=>x.B.Select(y=>y.C)
You冷 2017-11-21
  • 打赏
  • 举报
回复
lovebaby 2017-11-20
  • 打赏
  • 举报
回复
数据库设置好主外键关系,重新从数据库更新一下模型。include要求有表之间的主外键关系。或者可以考虑用Join
csover8 2017-11-20
  • 打赏
  • 举报
回复
to duanzi_peng: 用的是tt生成的映射类的。
正怒月神 版主 2017-11-20
  • 打赏
  • 举报
回复
引用 7 楼 duanzi_peng 的回复:
ef默认是lazy load的。不想lazy load 在Entities构造函数中设置:

Configuration.LazyLoadingEnabled = false;
即可。
哦,那应该是我记错了。
exception92 2017-11-20
  • 打赏
  • 举报
回复
引用 5 楼 hanjun0612 的回复:
[quote=引用 3 楼 csover8 的回复:] To: hanjun0612 include(x=>x.点不出来C)
哦,搞错了,以为是多项关联了。 你有设置主外键吧? 你直接调试,查询一个 a,然后看看b和c有出来吗? 因为我记得ef默认是不会懒加载的。 [/quote] ef默认是lazy load的。不想lazy load 在Entities构造函数中设置:

Configuration.LazyLoadingEnabled = false;
即可。
exception92 2017-11-20
  • 打赏
  • 举报
回复
如果你的EF模型是Database First的话 分别设置 summaryid,fileid 为外键,在模型浏览页面 从数据库更新模型,再inclue即可。
正怒月神 版主 2017-11-20
  • 打赏
  • 举报
回复
引用 3 楼 csover8 的回复:
To: hanjun0612 include(x=>x.点不出来C)
哦,搞错了,以为是多项关联了。 你有设置主外键吧? 你直接调试,查询一个 a,然后看看b和c有出来吗? 因为我记得ef默认是不会懒加载的。
csover8 2017-11-20
  • 打赏
  • 举报
回复
B表的外键有fileid, C表有B的外键summaryid
csover8 2017-11-20
  • 打赏
  • 举报
回复
To: hanjun0612 include(x=>x.点不出来C)
dengchenlu 2017-11-20
  • 打赏
  • 举报
回复
主要还是要在model里设置好外键
正怒月神 版主 2017-11-20
  • 打赏
  • 举报
回复
files.include(x=>x.B).include(x=>x.C) .where(x=>x.filed=1) 出来一个 A表以及关联项B和C。 设置了主外键,自然就出来了。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧