c#group by不起作用

时间:2011-05-16 15:00:15

标签: c# group-by

我的c#代码在示例中到处都有问题,他们像我一样,但不知怎的,我会得到一些错误

编译器在g.Datum说他不知道Datum

并在“返回查询”时他说 - cannot convert,有一个明确的转换

     var query = (from p in dataContext.Untersuchungen
                  orderby p.Datum
                  group p by p.Datum into g 
                  let number = (from n in dataContext.Untersuchungen
                                where n.Datum == g.Datum
                                select n).Count()
                  select new StatsistikObjekt() { Date1 = g.Datum, number1 = number });
       return query;

希望你能帮助我=)

2 个答案:

答案 0 :(得分:7)

范围变量g的类型是,它确实没有Datum值。

考虑到您的分组(使用Datum作为键),您可以轻松地修复这一点 - 并通过计算组的大小来简化查询:

var query = (from p in dataContext.Untersuchungen
             orderby p.Datum
             group p by p.Datum into g
             select new StatsistikObjekt() { Date1 = g.Key,
                                             number1 = g.Count() });

关于返回值 - 我们无法真正帮助你,因为我们不知道你想要返回的返回类型。

答案 1 :(得分:1)

尝试

g.Key代替g.Datum