Запрос Linq с объектом Datetime - PullRequest
1 голос
/ 14 января 2010

Я хочу получить новейший предмет из коллекции. Каждый элемент имеет поле «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 ]

4 голосов
/ 14 января 2010

В вашем запросе agent.EditDate является константным выражением и будет одинаковым для каждого элемента. Возможно, вы хотите присоединиться?

1 голос
/ 14 января 2010

Оба ответа от mark и orsol выглядят правильно. Я думаю, что вы хотите сделать следующее

var s = from l in OCollectionAgents
    where l.IDOfVehicle == agent.IDOfVehicle
    orderby
    l.EditDate ascending
    select l;
0 голосов
/ 30 января 2017

Да, вы должны попробовать вот так.

var s = от l в OCollectionAgents

where l.IDOfVehicle == agent.IDOfVehicle
orderby
l.EditDate ascending
select l;
0 голосов
/ 14 января 2010

Может быть, вам нужно сделать заказ по l.EditDate?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...