Как я могу заказать результаты "группы...... в..." оператор в linq? Например:
var queryResult = from records in container.tableWhatever
where records.Time >= DateTime.Today
group records by tableWhatever.tableHeader.UserId into userRecords
select new { UserID = userRecords.Key, Records = userRecords };
Запрос возвращает записи в таблице "contain.tableWhatever" сгруппированный "Идентификатором пользователя". Я хочу возвращенные результаты в каждой группе, приказанной временем, убывая. Как я могу сделать это?
Более конкретный, предположите, что вышеупомянутый запрос возвращает только одну группу как следующее:
{UserID = 1, Records= {name1 5/3/2010_7:10pm;
name2 5/3/2010_8:10pm;
name3 5/3/2010_9:10pm} }
После вставляют orderby оператор в вышеупомянутый запрос, возвращенные результаты должны быть похожими на это:
{UserID = 1, Records= {name3 5/3/2010_9:10pm;
name2 5/3/2010_8:10pm;
name1 5/3/2010_7:10pm} }
Спасибо за справку!
Просто используйте расширение OrderByDescending, чтобы упорядочить записи в анонимном типе.
var queryResult = from records in container.tableWhatever
where records.Time >= DateTime.Today
group records by tableWhatever.tableHeader.UserId into userRecords
select new
{
UserID = userRecords.Key,
Records = userRecords.OrderByDescending( u => u.Time )
};
не могли бы вы сделать:
var queryResult = from records in container.tableWhatever
where records.Time >= DateTime.Today
group records by tableWhatever.tableHeader.UserId into userRecords
select new { UserID = userRecords.Key, Records = userRecords.OrderByDescending(r=>r.Time) };