Entity framework 带子实体的投影

Entity framework 带子实体的投影,entity-framework,Entity Framework,我有以下实体框架查询,其中有40项: context.Questions .Where(x => x.Access >= 1 && x.Enabled == true ).ToList(); 然后我尝试了如下投影: context.Questions .Where(x => x.Access >= 1 && x.Enabled == true ) .Select(x => new

我有以下实体框架查询,其中有40项:

context.Questions
  .Where(x =>
    x.Access >= 1 &&
    x.Enabled == true
  ).ToList();
然后我尝试了如下投影:

context.Questions
  .Where(x =>
    x.Access >= 1 &&
    x.Enabled == true
  ) 
  .Select(x => new {
    Duration = x.Duration,
    Text = x.Text,
    Answers = x.Answers.Select(y => new {
      Correct = y.Correct,
      Text = y.Text
    })
  }).ToList();
在这种情况下,我得到150个项目。。。我做错了什么

基本上我需要问题列表,每个问题都有一个答案列表

谢谢,, 米格尔

试试这个

context.Questions
  .Where(x =>
    x.Access >= 1 &&
    x.Enabled == true
  ) 
  .Select(u => new {
    Duration = u.Duration,
    Text = u.Text,
    Answers = u.Answers.Select(y => new {
      Correct = y.Correct,
      Text = y.Text
    })
  }).ToList();
这解决了您的问题的原因是因为在您使用

.Select(x => ..)

where x=>引用原始的
。where(x=>)
因此它引用的是对象的完整列表,而不是where查询中的筛选列表。

这似乎解决了这个特定问题。为什么呢?但我遇到了一个新问题。请你检查一下好吗?当我试图解决最初的帖子时,我也有这种想法。我刚刚发布了一条最新消息。非常感谢。