[英]How to select column from child table in linq
如何在linq查询中包含二级表列? 我不希望.Net执行延迟加载,因为还有其他表链接到这些表。
表是
Quiz:
- Id
- Name
Questions:
- Id
- Name
- quizId
Options:
- id
- Name
- QuestionId
测验和问题有一对多的关系。 选项问题也有一对多的关系。
var quiz=db.Quiz.include(a=>a.Questions)......ToList();
如何在linq查询中包含选项列?
如果您想要永久加载实体的孙子,只要您正确映射了关系,下面的代码就可以实现这一点。
var quiz = db.Quiz
.Include(a => a.Questions.Select(q => q.Options))
.ToList();
添加到Questions属性选项作为ICollection并映射为一对多。 那你可以用
var quiz=db.Quiz.include(a=>a.Questions).include(a=>a.Questions.Options).......ToList();
要么
我很确定你可以做多个Include()
s:
var quiz = db.Quiz
.Include(x => x.Questions)
.Include("Questions.Options")
.ToList();
虽然像@ pwee167的答案一样,它并不是完全强类型的,但它对于您希望包含在查询中的每个集合都是描述性的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.