.net 如何使用扩展方法对groupby使用计数?

.net 如何使用扩展方法对groupby使用计数?,.net,linq,count,group-by,extension-methods,.net,Linq,Count,Group By,Extension Methods,我需要像linq上的sql server一样使用get count*,如何使用扩展方法来实现这一点? 这就是我要做的 var test = empire.Case_Offence.Join( empire.Offences , w => w.OffenceId , x => x.Id , ( w , x ) => new { w.Id , w.OffenceId , x.Name }

我需要像linq上的sql server一样使用get count*,如何使用扩展方法来实现这一点? 这就是我要做的

var test = empire.Case_Offence.Join( empire.Offences , w => w.OffenceId , 
                       x => x.Id ,
                      ( w , x ) => new { w.Id , w.OffenceId , x.Name  } )
                       .GroupBy( ww => new {ww.Name, ww.Id,ww.OffenceId } ) ;
tnx:

试试:

var test = empire.Case_Offence.Join( empire.Offences , w => w.OffenceId , 
                       x => x.Id ,
                       ( w , x ) => new { w.Id , w.OffenceId , x.Name  } )
                       .GroupBy( ww => new {ww.Name, ww.Id,ww.OffenceId } )
                       .Select ( g => new { Key = g.Key, Count = g.Count() } );

然后,测试将是一组带有两个参数的匿名类型-键-按键分组,以及计数-使用该键的项目数。

谢谢,我想知道我是否可以使用GroupJoin来处理这种情况?不是在这种情况下,我不认为至少,单独使用GroupJoin无法获得完全相同的结果,尽管它在某种程度上取决于您的输入数据,以及您在输出方面的需求。