Linq分组查询

var PidList = from r in datalist//数据来源
                         
                          group r by r.PId into g
                          select new
                          {
                              Id = g.Min(p => p.Id)//取最小值
                          };
  List<xxxx> temp=new List<xxxx>
    foreach (var item in PidList)
    {
      temp.Add(datalist.FirstOrDefault(a => a.Id == item.Id));
    }

  

  使用group by 查询指定的数据 比如在上述例子中:查询 datalist 中的 PId 字段。把PId这个字段放进一个新的组 g 里面,如果有重复,取对应的最小 Id (主键) 

  返回单条数据,因为数据 datalist 是一个 List ,要另一个 List 接收

原文地址:https://www.cnblogs.com/Lbox/p/7944144.html