Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq分组和投影查询_Linq_Linq To Entities - Fatal编程技术网

Linq分组和投影查询

Linq分组和投影查询,linq,linq-to-entities,Linq,Linq To Entities,我有一个EF“Call”类,它有日期、电话号码、呼叫者姓名和通话费用 我的目标是按电话号码对通话进行分组,计算总成本,并得出40个最昂贵通话的结果。我有所有这些工作,但我有问题的投影,我如何获得访问呼叫者的名字 var query = ( from call in model.Calls group call by call.TelephoneNumber into g orderby g.Sum(gr => gr.ActualCost) descending select new

我有一个EF“Call”类,它有日期、电话号码、呼叫者姓名和通话费用

我的目标是按电话号码对通话进行分组,计算总成本,并得出40个最昂贵通话的结果。我有所有这些工作,但我有问题的投影,我如何获得访问呼叫者的名字

var query =
(

from call in model.Calls
group call by call.TelephoneNumber into g
orderby g.Sum(gr => gr.ActualCost) descending

select new

{
TelephoneNumber = g.Key,
CallerName = ???
Cost = (g.Sum(gr => gr.ActualCost)),
TotalNumbers = g.Count(),
}

).Take(40);

您还需要CallerName上的组:

var query =
  (from call in model.Calls
  group call by new { call.TelephoneNumber, call.CallerName }  into g
  orderby g.Sum(gr => gr.ActualCost) descending
  select new
  {
    TelephoneNumber = g.Key.TelephoneNumber,
    CallerName = g.Key.CallerName,
    Cost = (g.Sum(gr => gr.ActualCost)),
    TotalNumbers = g.Count(),
  }).Take(40);

非常感谢你的帮助!太简单了!