如何在LINQ中组合Where子句和GROUPBY
有人能帮我把下面的代码转换成LINQ吗如何在LINQ中组合Where子句和GROUPBY,linq,Linq,有人能帮我把下面的代码转换成LINQ吗 Select Catg,Count(*) From Mycatg where IsPublic=1 or FirstName='XXX' Group By Catg . 在C#中,类似于: var query = from category in mycatg where category.IsPublic == 1 || category.FirstName == "XXX"
Select Catg,Count(*) From Mycatg where IsPublic=1 or FirstName='XXX' Group By Catg .
在C#中,类似于:
var query = from category in mycatg
where category.IsPublic == 1
|| category.FirstName == "XXX"
group 1 by category.Catg into grouped
select new { Catg = grouped.Key,
Count = grouped.Count() };
“1”的投影清楚地表明,我们所需要的只是分组和计数的键——每个分组中的单个条目都是无关的
使用lambda语法和点表示法:
var query = mycatg.Where(category => category.IsPublic == 1
|| category.FirstName == "XXX")
.GroupBy(category => category.Catg,
category => 1)
.Select(grouped => new { Catg = grouped.Key,
Count = grouped.Count() });