我想收到一个集合中的最新项目。每个项目都有一个“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);
但是现在,我想知道为什么我的查询结果不会改变排序方向?
答案 0 :(得分:4)
在您的查询中agent.EditDate
是一个常量表达式,对于每个项目都是相同的。也许你想加入?
答案 1 :(得分:1)
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;