一对多的关系 - 只返回孩子的比赛

时间:2012-03-05 17:00:43

标签: entity-framework linq-to-entities

我在学生表和课程表之间有一对多的关系。我希望在我拥有这个

时,让所有符合特定标准的学生回归
.Context.Users.Where(it => 
                        it.Category.Description == "Student" &&
                        it.Courses.All(p => p.Submitted == true && p.StatusId == null) && 
                        it.Courses.Count > 0);

现在这很好用;如果我删除“it.Courses.Count> 0”,那么我会找到没有课程的学生。没有伯爵,有更好的方法吗?

谢谢,

戴尔

2 个答案:

答案 0 :(得分:1)

您可以通过将<{1}}替换为

来稍微改善一下
it.Courses.Count > 0

询问集合是否具有“any”元素(至少一个),并在SQL中转换为it.Courses.Any()

答案 1 :(得分:0)

看起来你想要这样的东西

Context.Users.Where(it => 
                        it.Category.Description == "Student" &&
                        it.Courses.Any(p => p.Submitted == true && p.StatusId == null))