通过LINQ查询获取具有最小日期时间的行

时间:2014-09-12 15:33:29

标签: c# linq entity-framework

用户有一个List<Call> CallsToMake,每个电话都有一个属性DateTime TimeStamp

我尝试获得最早(最短)时间的Call。我已经看到了如何获得min TimeStamp的示例,但我不知道如何使用min Call获取TimeStamp

我不知道在这里添加什么:user.CallsToMake.Where(call => call.TimeStamp)

1 个答案:

答案 0 :(得分:3)

TimeStamp排序并选择第一个:

Call firstCall = user.CallsToMake.OrderBy(i => i.TimeStamp).FirstOrDefault();

您还可以使用Aggregate获取所需的值而无需排序:

Call firstCall = user
                 .CallsToMake
                 .Aggregate((min, current) => 
                            (current.TimeStamp < min.TimeStamp ? current : min)
                  );