LINQ从每天选择表中的最后一个输入

时间:2018-03-12 09:13:48

标签: c# database linq

该表每5分钟更新一次,因此每天都有多个输入。 我有几个包括但是它们并不重要,因为日期只在其中一个表中。我的LINQ知识非常浅薄。 我如何要求每天的最后输入?数据类型是DateTime。 现在我要求数据库提供最后15000个输入,然后用一堆for循环过滤它们。它有效,但不可持续且非常缓慢。 感谢能提供的每一点帮助!

1 个答案:

答案 0 :(得分:1)

1-按日期的日期部分分组(请参阅DateTime.Date

2-对于每个组,按日期(已经属于同一天)订购所有项目,然后选择最大值。

List<EntityClass> list = new List<EntityClass>();

list.GroupBy(e => e.date.Date) // 1
       .Select(grp => grp.OrderBy(e => e.date).Last()); //2