【发布时间】:2017-08-07 01:41:13
【问题描述】:
我有一张桌子
学生姓名 / 班级 / GradeA / GradeB / GradeC / GradeDate
学生的教室是固定的,因此列永远不会改变。
每个学生都有多个具有不同 GradeDate 的 GradeA、GradeB 和 GradeC 值。
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;
}
以上查询返回所有内容,并且列表中有多个相同的学生。
我怎样才能只获得最新的值?
表格:
课堂大师
- 身份证
- 更新日期
- 教室
教室详情
- 身份证
- Cm_Id(具有 ClassroomMaster Id 的外键)
- 学生姓名
- A 级
- B 级
- C 级
- 毕业日期
在控制器上
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);
【问题讨论】:
-
按学生分组的最新值?你能解释一下吗?
-
是的,每个学生只有一个记录,并且只有最新的一个
-
在我的控制器上我称之为 var bdetail = _bunkerPriceService.GetLatestClassroomDetail(classroom).OrderBy(d => d.StudentName); var model = new List
(); foreach (var pr in bdetail) { -
你可以在你的问题中添加表格图吗?并解释每个表之间的关系:)
-
我有 2 张桌子