[英]linq group by 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排序,然后獲得相同的Counter,SrvID的第一個值(如果有的話)。
所以輸出將是這樣的:
ID Counter SrvID FirstName
-- ------ ----- ---------
1 34 66M James
2 45 75W Mike
3 55 45Q Jason
4 33 77U Will
請注意,如何將ID 5從列表中刪除,因為Counter和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;
我收到以下消息:方法“ First”只能用作最終查詢操作。
有趣的是,完整的錯誤消息是:
"NotSupportedException: The method 'First' can only be used as a final query operation. Consider using the method 'FirstOrDefault' in this instance instead."
我在實體框架中使用First
遇到問題,您是否嘗試過更改為FirstOrDefault
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.