gpt4 book ai didi

c# - 在 LINQ 中按子表分组

转载 作者:行者123 更新时间:2023-11-30 22:14:33 25 4
gpt4 key购买 nike

我有学生表和科目表,我需要按科目对学生进行分组。我尝试了以下不显示 s.StudentSubjects.SubjectName 的内容。我怎样才能写 group by with child table 。

学生 -> StudentID |姓名
StudentSubjects -> 主题 ID |学号 |主题名称

        var list = from s in students
group s by s.StudentSubjects.? into g
select new StudentSubjectsCounts
{
Name = g.Key,
Count = g.Count(),
};

最佳答案

听起来你应该查询 StudentSubjects 而不是 Student:

var list = from ss in studentSubjects
group ss by s.SubjectName into g
select new StudentSubjectsCounts
{
Name = g.Key,
Count = g.Count(),
};

或者,从学生列表开始:

var list = students.SelectMany(s => s.StudentSubjects)
.GroupBy(ss => ss.SubjectName)
.Select(g => new StudentSubjectsCounts
{
Name = g.Key,
Count = g.Count(),
});

关于c# - 在 LINQ 中按子表分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18455428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com