如何使用扩展方法对groupby进行计数?

时间:2011-10-12 05:04:44

标签: .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  } )
                       .GroupBy( ww => new {ww.Name, ww.Id,ww.OffenceId } ) ;

tnx:)

1 个答案:

答案 0 :(得分:0)

尝试:

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() } );

test将是一组包含两个参数的匿名类型 - Key - 分组键,Count - 具有该键的项目数。