2

表 1:学生

StudentID, StudentName

表 2:课程

CourseID, CourseName

表 3:

GroupID, GroupName

表 4:学生课程组

StudentID, CourseID, GroupID

我希望所有属于“xyz”课程的学生都采用以下格式

Class MyStudent

    string StudentName
    String [] Groups

每个学生都可以是一个或多个组的成员,我需要在我的 LINQ 查询中填充“Class MyClass”,以便它包含StudentName每个对象中的组列表。

您能否建议一个可以这样做的 LINQ 查询。

4

1 回答 1

1
var query = from s in db.Student
            join scg in db.StudentCourseGroup on s.StudentID equals scg.StudentID
            join c in db.Course on scg.CourseID equals c.CourseID
            join g in db.Group on scg.GroupID equals g.GroupID
            where c.CourseName == "xyz"
            select new { s, g } into x
            group x by x.s into studentGroups
            select new MyStudent {
                StudentName = studentGroups.Key.StudentName,
                Groups = studentGroups.Select(sg => sg.g.GroupName)
            };
于 2013-01-04T11:17:28.640 回答