使用GroupBy和Average将SQL转换为lambda LINQ

Yur*_*uri 12 c# linq group-by average

我花了几个小时试图将简单的SQL翻译成lambda LINQ

SELECT ID, AVG(Score) FROM myTable
GROUP BY ID
Run Code Online (Sandbox Code Playgroud)

任何的想法?

spa*_*jce 21

from t in myTable
group t by new {
  t.ID
} into g
select new {
  Average = g.Average(p => p.Score),
  g.Key.ID
}
Run Code Online (Sandbox Code Playgroud)

或者Lambda

myTable.GroupBy(t => new  {ID = t.ID})
   .Select (g => new {
            Average = g.Average (p => p.Score), 
            ID = g.Key.ID 
         })
Run Code Online (Sandbox Code Playgroud)