我有以下列表
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”只能用作最终查询操作。
答案 0 :(得分:3)
有趣的是完整的错误信息是:
"NotSupportedException: The method 'First' can only be used as a final query operation. Consider using the method 'FirstOrDefault' in this instance instead."
答案 1 :(得分:2)
我在使用实体框架中的First
时遇到问题,您是否尝试过更改为FirstOrDefault
?