查询出来的表dtSumNaturalWorkHour,根据PersonName,ProjectName对WorkHour求和。

 
  
  1. var query = dtSumNaturalWorkHour.AsEnumerable().GroupBy(d => new { PersonName = d.Field<string>("PersonName"), ProjectName = d.Field<string>("ProjectName")  
  2.                    })  
  3.               .Select(g => new  
  4.               {  
  5.                   PersonName = g.Key.PersonName,  
  6.                   ProjectName = g.Key.ProjectName,  
  7.                   num = g.Sum(d => Convert.ToDouble(d["WorkHour"])),  
  8.               });  

 只根据一列值group 的查询求和:根据PersonName对WorkHour求和.

 

 
  
  1. var dt=  dtSumNaturalWorkHour.Rows.Cast<DataRow>().GroupBy<DataRow, string>(row => Convert.ToString(row["PersonName"])).  
  2.                    Select(group => new { group.Key, Value = group.Sum(x => Convert.ToDouble(x["WorkHour"])) });