首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拥有超过5名学生的所有得分教室

拥有超过5名学生的所有得分教室
EN

Stack Overflow用户
提问于 2015-05-25 16:19:41
回答 1查看 81关注 0票数 0

我被困在一个特殊的案子里想出Linq。我不想使用我客户的数据库表的名称,所以我已经将情况翻译到了典型的课堂设置中。

一个教室有多个学生,甚至没有学生。每个班可能被分配一个平均等级,也可能没有。不要担心成绩是从哪里来的,也不用担心为什么它是来自班级的。

使用Linq,我想得到所有的教室,有超过5名学生,并已分配的平均成绩。

物体看起来像这样。

代码语言:javascript
运行
复制
class Classrooms {
    Guid ClassroomId;
    string subject;
}

class Students {
    Guid Student;
    Guid ClassroomId;
}

class Score {
    Guid ClassroomId;
    int someScoreHere;
}

在SQL中,我查找如下内容:

代码语言:javascript
运行
复制
SELECT COUNT(*) As NumberOfStudents, ClassroomId 
FROM Students WHERE ClassroomId IN (SELECT ClassroomId FROM Score)
GROUP BY ClassroomId HAVING COUNT(StudentId) > 5 BY NumberOfStudents;

我失败了,林克试图得到一份教室的名单;

代码语言:javascript
运行
复制
Guid[] scores = (from score in db.Score select score.ClassroomId).ToArray();
List<Classroom> result = (from c in db.Classroom
                        where db.Student.Contains(c.ClassroomId))
                        group c by c.ClassroomId.... BLEEEH
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-25 16:24:59

代码语言:javascript
运行
复制
from c in db.Classroom
where db.Score.Select(s => s.ClassroomId).Contains(c.ClassroomId)
group c by c.ClassroomId into g
where g.Count() > 5
select new { NumberOfStudents = g.Count(), ClassroomId = g.Key }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30442296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档