如何在实体框架中包含父项的FirstOrDefault子项" .Include"

时间:2018-05-08 17:32:17

标签: c# linq entity-framework-6

我想选择所有组件的评估,并且只选择每个组件的第一个答案。

QueryFutureEnumerable<Evaluation> deferredEvaluations = db.Evaluations
    .Include(e => e.Components)
    .Include(e => e.Components.Select(c => c.Answers).FirstOrDefault())
    .Where(e => e.Deprecated == false)
    .OrderByDescending(e => e.LastModified)
    .Future();

我需要帮助确定如何只包括第一个回答孩子。

以下是我已经尝试过的不起作用的内容:

 .Include(e => e.Components.Select(c => new List<Answer>(){ c.Answers.FirstOrDefault()} ))
 .Include(e => e.Components.Select(c => new { Answer = c.Answers.FirstOrDefault()}))
 .Include(e => e.Components.Select(c => c.Answers.Take(1)))

注意:我使用的是Z.EntityFramework.Plus;但我不认为我想要完成的查询部分与此有关。

如果它不起作用,&#34;我收到错误:Include路径表达式必须引用在类型上定义的导航属性...&#34;

0 个答案:

没有答案