Linq使用Lambda表达式实现某列去重
首先,需要的功能是:
Code | Sub | Count |
Fl001 | 1 | 20 |
Fl002 | 1 | 15 |
Fl001 | 1 | 10 |
结果只需要两条
Code:Fl001,Sub:1,Count:20
Code:Fl002,Sub1;Count:15
需要使用Linq进行去重查询,只返回code相同的第一行数据即可,而使用Distinct()根本无法达到要求,那么
var list = con.Table.GroupBy(r => r.Code).Select(r => r.First());
注意上面我测试是错的。会提示改为
FirstOrDefault(),测试成功,一切正常。
var onlyMangerName = db.CeoCorrespondings.GroupBy(r => r.ChannelManager).Select(r => r.FirstOrDefault()).ToList();