Как создать единый объект с коллекцией объектов из коллекции путем группировки по идентификатору
У меня есть список студентов, который выглядит следующим образом
List<StudentData> results= new List<StudentData>{ new Student{Id = 1, Name = "John", CourseName = "Math", CourseStatus ="Complete"}, new Student{Id = 1, Name = "John", CourseName = "Science", CourseStatus ="In Complete"}, new Student{Id = 1, Name = "John", CourseName = "English", CourseStatus ="Complete"}, new Student{Id = 2, Name = "Sarah", CourseName = "Math", CourseStatus ="Complete"}, new Student{Id = 2, Name = "Sarah", CourseName = "Computer", CourseStatus ="Complete"}, new Student{Id = 2, Name = "John Doe", CourseName = "Account", CourseStatus ="Complete"}, }
Я хочу создать студента со списком курсов из приведенного выше набора данных.
Student john = new Student(); john.Id = 1 , john.Name = "John", john.Courses = new List<Course>{ new Course{Name = "Math", CourseStatus ="Complete"}, new Course{Name = "Science", CourseStatus ="In Complete"}, new Course{Name = "English", CourseStatus ="Complete"}, }
Как мне этого добиться ?
Что я уже пробовал:
var query= results.GroupBy(s=> s.Id); Student st = new Student(); foreach (var group in query) { <pre> st.myCourses = new List<MyCourse>(); foreach (var st in group ) { MyCourse c = new MyCourse(); c.Name= st.CourseName; c.Status = st.Status; st.myCourses.Add(c); }
}