2 liu ly95 Liu_LY95 于 2017.09.06 14:32 提问

Linq左关联只取最新的一条数据

学生表
ID NAME
1 A学生
2 B学生
成绩表
ID STUDID GRADE TIME
1 1 9 2017-01-01
2 1 10 2017-02-03
3 2 15 2017-02-03

我想要得到学生表最新的一条记录
NAME GRADE TIME
A学生 10 2017-02-03
B学生 15 2017-02-03

2个回答

wangde4587
wangde4587   2017.09.06 15:22
        var query = (from student in mdb.sutdent
                     join grade in mdb.grades on student.ID equals grade.STUDID
                     where grade.TIME.HasValue == true && student.ID == "学生id值"
                     select new
                     {
                         student.Name,
                         grade.GRADE,
                         grade.TIME
                     }).OrderByDescending(c => c.TIME).FirstOrDefault();

EF查询类似的数据 按时间排序第一条就是最新的

wangde4587
wangde4587 回复wangde4587: 获取前两条结果不严谨
3 个月之前 回复
wangde4587
wangde4587 回复Liu_LY95: 查看ToList()结果,他是有规律的
3 个月之前 回复
wangde4587
wangde4587 回复Liu_LY95: .FirstOrDefault();修改为.ToList() 得到的结果前两条就是
3 个月之前 回复
wangde4587
wangde4587 回复Liu_LY95: student.ID == "学生id值"修改为( student.ID == "学生Aid值"||student.ID == "学生Bid值")
3 个月之前 回复
Liu_LY95
Liu_LY95 这就能得到A对应最新的记录,我要的结果是A-最新记录,B-最新记录的结果集
3 个月之前 回复
XianRenShan
XianRenShan   2017.09.06 15:35
Csdn user default icon
上传中...
上传图片
插入图片