使用Datetime对象查询Linq

时间:2010-01-14 11:06:29

标签: linq datetime

我想收到一个集合中的最新项目。每个项目都有一个“DateTime”字段(EditDate),我做了一个像这样的小查询:

var s = from l in OCollectionAgents
    where l.IDOfVehicle == agent.IDOfVehicle
    orderby
    agent.EditDate ascending
    select l;

然后在查询后我这样做:

agent.DetailInformationOfResults.NewestAgentEditDate = s.First().EditDate;

但无论如何,如果排序方向升序降序,我仍会得到相同的项目。最古老的项目。

我通过这样做解决了这个问题,并且有效。

agent.DetailInformationOfResults.NewestAgentEditDate = s.Max(d => d.EditDate);

但是现在,我想知道为什么我的查询结果不会改变排序方向?

4 个答案:

答案 0 :(得分:4)

在您的查询中agent.EditDate是一个常量表达式,对于每个项目都是相同的。也许你想加入?

答案 1 :(得分:1)

markorsol的答案都是正确的。我想你想做以下

var s = from l in OCollectionAgents
    where l.IDOfVehicle == agent.IDOfVehicle
    orderby
    l.EditDate ascending
    select l;

答案 2 :(得分:0)

您可能需要通过l.EditDate订购吗?

答案 3 :(得分:0)

是的,你必须这样试试。

var s =来自OCollectionAgents中的l

where l.IDOfVehicle == agent.IDOfVehicle
orderby
l.EditDate ascending
select l;