У меня есть следующий списокLINQ группа по First()
ID Counter SrvID FirstName
-- ------ ----- ---------
1 34 66M James
5 34 66M Keith
3 55 45Q Jason
2 45 75W Mike
4 33 77U Will
То, что я хотел бы сделать, это заказать по ID по возрастанию, а затем получить первое значение счетчика, SrvID, которые являются идентичными (если таковые имеются) ,
Так что выход будет что-то вроде:
ID Counter SrvID FirstName
-- ------ ----- ---------
1 34 66M James
2 45 75W Mike
3 55 45Q Jason
4 33 77U Will
Обратите внимание, как идентификатор 5 удаляется из списка, как счетчик и SrvID был идентичен тому, что я имел для ID 1, но в качестве ID 1 пришел первый я удалил 5.
Я попытался следующие, но не работает:
var query = from record in list1
group record by new {record.Counter, record.SrvID }
into g
let winner = (from groupedItem in g
order by groupedItem.ID
select groupedItem ).First()
select winner;
Я получаю followng сообщение: метод «Первый» может быть использован только в качестве окончательного Кер y.
Какой вкус LINQ это? –
@Jon Skeet- это из .edmx файла - Entity Framework –