Linq сгруппировать и упорядочить по дате создания - PullRequest
0 голосов
/ 28 июня 2011

У меня есть список сообщений в БД, например, так:

FromLoginId, ToLoginId, Message, CreateDate

  1. 1, 2, «some message», 02.02.2010
  2. 1, 2, «еще один», 2/3/2010
  3. 4, 2, «из 4 сообщений», 3/4 / 2010
  4. 5, 2, "из 5 сообщений", 1/3/2010
  5. 5, 2, "новее 5", 3/2/2011

Мне нужно сгруппировать список сообщенийпо FromLoginId, упорядоченный методом createDate, начиная с самого нового.

EDIT: Список сообщений с первым самым новым сообщением из группы FromLoginId.

, например, для loginid 2 я бы получил такой результат:

FromLoginId, ToLoginId, Message, CreateDate

  1. 5, 2, "более новые 5", 3/2 / 2011
  2. 4, 2 "из 4 сообщений", 3/4/2010
  3. 1, 2," еще один ", 2/3/2010

, пожалуйста, помогите.спасибо

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Я думаю, я понял это.выглядит нормально для меня.Может кто-нибудь, пожалуйста, проверьте это?

list.GroupBy(x => x.FromLoginId)
   .Select(x => x.OrderByDescending(y => y.CreateDate)
   .FirstOrDefault())
   .OrderByDescending(x => x.CreateDate)
0 голосов
/ 28 июня 2011

Если вы группируете по FromLoginId, вы не сможете отобразить сами сообщения, только их количество или любую агрегированную функцию, которая может вас заинтересовать.

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