c#分组方式';行不通
我的c#代码在示例中到处都有问题,他们像我一样做,但不知怎的,我会遇到一些错误 编译器说在g.Datum他不知道Datum 在“返回查询”中,他说-c#分组方式';行不通,c#,group-by,C#,Group By,我的c#代码在示例中到处都有问题,他们像我一样做,但不知怎的,我会遇到一些错误 编译器说在g.Datum他不知道Datum 在“返回查询”中,他说-不能转换,有一个显式转换 var query = (from p in dataContext.Untersuchungen orderby p.Datum group p by p.Datum into g let number
不能转换
,有一个显式转换
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;
希望你能帮我()试试看
g.Key
而不是g.Datum
范围变量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() });
至于返回值-我们无法真正帮助您,因为我们不知道您试图返回的返回类型。非常有趣;我从来不知道你甚至可以在linq查询中使用
let
。几乎看起来像是C和F=Dg的混合体。我相信数据应该是g.Key。我写了一半的答案,意识到我已经被伟大的乔恩·斯基特提升了。总有一天,好先生,总有一天。@Tim:只要写下你自己的答案,并在事后与Jon的超棒超快答案进行比较。熟能生巧。你发呆的时候不会好起来的。此外,有人可能会喜欢你的答案。@Tim我称之为“被抓”。继续努力。你可能会幸运地得到这样的结果。当前分数;我:1双向飞碟:2000+