0

我有以下 2 节课

public class Student
{
    public string Name { get; set; }
    public int SchoolId { get; set; }     
}

public class School
{
    public int SchoolId { get; set; }          
    public IList<Student> Students { get; set; }
}

SchoolId在类内部添加可能很奇怪,Student但我们这样做是为了跟踪。

在数据库中Students,我们有一个包含StudentNameschoolId

我们如何Schools通过从此表中选择所有来重建列表

4

1 回答 1

2

这很简单。只需使用GroupByLinq 中的方法即可。

var results = db.Students
    .GroupBy(s => s.SchoolId,
             (id, g) => new School() { SchoolId = id, Students = g.ToList() });

或者,如果您更喜欢查询语法,请使用:

var results = 
    from s in db.Students
    group s by s.StudentId into g
    select new School()
    {
        SchoolId = g.Key,
        Students = g.ToList()
    };
于 2013-03-14T01:04:45.157 回答