I have a table as
StudentName / Classroom / GradeA / GradeB / GradeC / GradeDate
The students classrooms are fixed so that column never changes.
Each student has multiple GradeA, GradeB and GradeC values with different GradeDate.
public virtual IList<ClassroomDetail> GetLatestClassroomDetail(string classroom)
{
var query = from pc in _classroomDetailRepository.Table
where pc.Classroom == classroom
select pc;
var result = new List<ClassroomDetail>(query);
return result;
}
Above query returns everything and there are multiple same students in the list.
How can I only get latest values?
Tables:
ClassroomMaster
- Id
- UpdateDate
- Classroom
ClassroomDetail
- Id
- Cm_Id (has foreign key with ClassroomMaster Id)
- StudentName
- GradeA
- GradeB
- GradeC
- GradeDate
On Controller
var bdetail = _classroomService.GetLatestClassroomDetail(classroom).OrderBy(d => d.StudentName);
var model = new List<ClassroomDetail>();
foreach (var pr in bdetail)
{
model.Add(new ClassroomDetail
{
Id = pr.Id,
Classroom = pr.Classroom,
StudentName = pr.StudentName,
GradeA = pr.GradeA,
GradeB = pr.GradeB,
GradeC = pr.GradeC,
GradeDate = pr.GradeDate,
});
}
return PartialView(model);