2011-08-25 109 views
0

遍历组实体此代码生成错误指示:错误框架

sample code

以下是错误消息:

error message

弹出定义似乎表明标记为未定义的字段确实存在:

pop-up definition

我错过了什么?

(你告诉我,为什么有些错误的代码强调奖励积分是红色的而有些则是蓝色。)

回答

1

请记住,这些都是群体,所以你有两个层次:

foreach(var g in groups) 
    foreach(var item in g) 
     Console.WriteLine(item); 

当你做一个“GROUP BY”在LINQ,你结束了一系列实际的“群体” ,每一个都有一个Key和一系列值。这允许您在每个分组上执行聚合函数,如Sum,MinMax。如果您只希望将类似CountryRegion的结果放在一起展平,则可以尝试使用OrderBy

+0

完美地工作。谢谢! – casterle

3

你有一个IQueryable<IGrouping<string,Anonymous>>,因此需要通过主要参考。

foreach(var g in groups) 
{ 
    Console.WriteLine(g.Key.FirstName.Trim()); 
} 
+0

这会产生一个稍微不同的错误:“'string'不包含'FirstName'的定义,并且没有找到接受'string'类型的第一个参数的扩展方法'FirstName'(你是否缺少using指令或一个程序集引用?)“ – casterle

+1

是的,FirstName和LastName不存在于键上,因为你不是按这些字段分组的。 – StriplingWarrior

+0

@Strip看起来Key是一个包含CountryRegion的字符串。但'钥匙'从哪里来?它是由组/自动创建的吗? – casterle