2010-07-01 68 views
1

我有结构化这样的数据的列表:集团和聚合对象的列表

Field1 Field2 Field3 
1 1 "abc" 
1 1 "def" 
1 2 "123" 
1 2 "456" 

我希望能够让我结束了,每个字段1 &字段2,用一个单独的记录合并这些数据Field3数据连接在一起。所以在上面的情况下,我会得到:

Field1 Field2 Field3 
1 1 "abcdef" 
1 2 "123456" 

我想使用LINQ /查询表达式为此。

回答

3
var query = 
    from row in rows 
    group row by new { row.Field1, row.Field2 } into g 
    select new RowClass 
    { 
     Field1 = g.Key.Field1, 
     Field2 = g.Key.Field2, 
     Field3 = g.Aggregate(
        new StringBuilder(), 
        (sb, grp_row) => sb.Append(grp_row.Field3)) 
        .ToString() 
    } 
+0

谢谢!我没有意识到你可以在多个领域进行分组。我试图做嵌套分组,只是弄得一团糟。 – user380689 2010-07-01 03:58:16

+0

很高兴提供帮助。我同意这不是一个非常直观的语法。 – 2010-07-01 16:29:04