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
C# LINQ分组与计数_C#_Linq - Fatal编程技术网

C# LINQ分组与计数

C# LINQ分组与计数,c#,linq,C#,Linq,我知道这个问题和我之前的一个问题很相似,但我想不出来 数据: 正在查找此输出: dept needOn status count foo 5/1/2011 closed 4 foo 5/1/2011 open 2 我认为这会奏效: var query3 = from q3 in query2 group new { q3.Status } by new { q3.Dept, q3.NeedOnWeek

我知道这个问题和我之前的一个问题很相似,但我想不出来

数据:

正在查找此输出:

dept  needOn    status   count
foo   5/1/2011  closed   4
foo   5/1/2011  open     2
我认为这会奏效:

var query3 = from q3 in query2
             group new { q3.Status }
                by new { q3.Dept, q3.NeedOnWeek, q3.Status } into g
             select new
             {
                 dept = g.Key.Dept,
                 needOnWeek = g.Key.NeedOnWeek,
                 status = g.Key.Status,
                 count = g.Count(x => x.Status)
             };
这两个错误都适用于:
count=g.count(x=>x.Status)

错误1无法将lambda表达式转换为委托类型“System.Func”,因为块中的某些返回类型不能隐式转换为委托返回类型

错误2无法将类型“string”隐式转换为“bool”

谢谢你的耐心和帮助

var query3 = from q3 in query2
             group q3
                by new { q3.Dept, q3.NeedOnWeek, q3.Status } into g
             select new
             {
                 dept = g.Key.Dept,
                 needOnWeek = g.Key.NeedOnWeek,
                 status = g.Key.Status,
                 count = g.Count()
             };
var query3 = from q3 in query2
             group q3
                by new { q3.Dept, q3.NeedOnWeek, q3.Status } into g
             select new
             {
                 dept = g.Key.Dept,
                 needOnWeek = g.Key.NeedOnWeek,
                 status = g.Key.Status,
                 count = g.Count()
             };