【发布时间】:2016-01-08 16:04:06
【问题描述】:
我收到了来自 API 的以下响应。如何将它们分组到以下结构中?
Student[]
- Name
- Classes[]
- ClassName
- ClassId
- ClassCategories[]
- CategoryName
- CategoryWeight
- Assignments[]
- AssignmentName
- Score
我设法将它们分组到“类”级别,但无法获取每个类的 ClassCategories
var data = (from result in results
group result by new { result.StudentId, result.FirstName, result.LastName, result.MiddleInitial }
into StudentGroup
select new GroupedStudent
{
StudentId = StudentGroup.Key.StudentId,
FullName = string.Format("{0} {1} {2}", StudentGroup.Key.FirstName, StudentGroup.Key.MiddleInitial, StudentGroup.Key.LastName).Replace(" ", " "),
Classes = from result in results
group result by new { result.ClassId, result.ClassName } into ClassGroup
select new groupedClass
{
ClassName = ClassGroup.Key.ClassName,
ClassId = ClassGroup.Key.ClassId,
ClassCategories = ...
})
}).ToList();
谁能帮帮我?谢谢。
【问题讨论】:
-
“结果”的类型是什么?
-
@jhmt:结果以通用列表形式返回
-
有人知道这是否可能吗?
-
好的,那么结果中的一个实例具有以下属性:ClassId、ClassName、StudentName、Grade、GradePercent、AssignmentName、Grading、Points、Score、Percent、CategoryName 和 CategoryWeight,不是吗?
-
@jhmt 是的,但是我想加入学生的“结果”,然后每个学生都有他的注册班级,每个班级都有自己的班级类别,每个类别都有自己的作业.这可能吗?
标签: c# sql entity-framework linq group-by