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中组合Where子句和GROUPBY_Linq - Fatal编程技术网

如何在LINQ中组合Where子句和GROUPBY

如何在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"

有人能帮我把下面的代码转换成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"
            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() });