我想知道,是否可以使用lambda获取最新日期的记录?
例如: 假设我的记录返回如下内容:
{date: '2017-01-03', unit: 5},
{date: '2017-01-03', unit: 3},
{date: '2017-01-02', unit: 8}
结束,我的查询:
myService.GetAll()
.OrderByDescending(a => a.date)
.??
请注意,假设我不想先执行group by
,也许您可能想说我可以这样做:
myService.GetAll()
.OrderByDescending(a => a.date)
.GroupBy(a => a.date)
.Take(1)
有可能吗?
修改
期望的输出:
{date: '2017-01-03', unit: 5},
{date: '2017-01-03', unit: 3},
编辑2:
我原来的问题:我写了一个逻辑,如果日期参数为空,则会采用最新的数据。否则它会过滤。
答案 0 :(得分:1)
Theres以各种方式做到这一点。纠正我,如果我错了,你需要的只是一个包含最新日期权利的数据列表。 在一个样本下面得到你的结果。
var res = myService.Where(p=>p.date == myService.OrderByDescending(a => a.date).SingleOrDefault().date).ToList();