Entity framework 带子实体的投影
我有以下实体框架查询,其中有40项: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
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查询中的筛选列表。这似乎解决了这个特定问题。为什么呢?但我遇到了一个新问题。请你检查一下好吗?当我试图解决最初的帖子时,我也有这种想法。我刚刚发布了一条最新消息。非常感谢。