使用LINQ在查询中包含子项?

时间:2012-11-29 23:15:37

标签: asp.net-mvc-3 linq entity-framework-4.1

使用mvc3和实体框架4。 在sql server中,“Steps”表通过stepID对“Question”具有外键约束。 查询(下面)步骤包括任何相关问题。

var steps = from b in db.Steps.Include(s => s.Questions)
            orderby b.StepOrder
            select b;

return View(steps.ToList());

我还要提出与问题相关的“答案”。 在SQL Server中,“Questions”表通过questionID对“Answers”具有外键约束。 如何更改查询以包含与步骤关联的问题相关联的答案?

1 个答案:

答案 0 :(得分:2)

您需要Select

中的Include孙子
var steps = from b in db.Steps.Include(s => s.Questions.Select(q => q.Answers))
            orderby b.StepOrder
            select b;

return View(steps.ToList());

请参阅Loading Related Entities EF教程中的急切加载多个级别部分。