繁体   English   中英

如何在列表中创建列表 Linq C#

[英]How to Create a List Within a List with Linq C#

我有一个问题,想象一下我从数据库中收到以下记录的以下情况:

id学生 班级名称 开始时间 时间结束
1个 英语 9 11
4个 西班牙语 9 11
7 数学 9 11
7 生物学 9 11
7 科学 9 11
3个 科学 9 11

现在假设我有以下 class:

public class test 
{
    public int idStudent { get; set; }
    public List<StudentGrade> StudentGrades { get; set; }
}

public class StudentGrade
{
    public string className { get; set; }
    public int startTime { get; set; }
    public int endTime { get; set; }
}

使用 Linq,我将如何创建相同的 class,其中我只有一个带有 StudentGrades 列表的“测试”class?

我试着这样做,但我不知道如何创建列表:

  var allResult = _getAllClass.FindAll();
        var resul = allResult.GroupBy(x => x.studentID)
                           .Select(s => new test
                           {
                               idStudent = s.Select(ss => ss.studentID).FirstOrDefault(),
                               StudentGrades = /// 

                           }
 var result = allResult.GroupBy(x => x.studentID, (k, g) => new test
            {
                idStudent = k,
                StudentGrades = g.Select(r => new StudentGrade
                {
                    className = r.className,
                    startTime = r.startTime,
                    endTime = r.endTime,
                }).ToList()
            }).ToList();

您需要处理该组以在test变量中创建List

allResult = _getAllClass.FindAll();
var result = allResult.GroupBy(x => x.studentID)
                      .Select(cg => new test {
                          idStudent = cg.Key,
                          StudentGrades = cg.Select(c => new StudentGrade {
                              className = c.className,
                              startTime = c.startTime,
                              endTime = c.endTime,
                           })
                           .ToList()
                       })
                       .ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM