0

我有一个选择查询结果,在 column1 和 column2 中有重复的值,而 column3 和 column4 的值因给定的 column1 和 column2 值而异。

我的选择查询结果如下

  ab ab_ds a 4
  ab ab_ds b 6
  bc bc_ds d 8
  bc bc_ds a 8

如何获得如下的 webgrid?

  ab ab_ds a 4 b 6  
  bc bc_ds d 8 a 8  

请建议我是否可以在查询或 webgrid 中做某事

4

2 回答 2

1

如果您使用 linq,则可以使用 GroupBy() 方法。

基于比较值为字符串的类的示例

    IEnumerable<IGrouping<string, ColumnClass>> groupBy = list.GroupBy(
    y => y.Column1 + " " + y.Column2);

这会给你一个 IEnumerable< IGrouping< string, YourClass >> 然后你可以使用另一个 linq 查询:

    groupBy.Select(item => item.Aggregate(
    item.Key, (current, columnClass) => current + (
    " " + columnClass.Column3 + " " + columnClass.Column4))).ToList();
于 2012-10-29T12:54:58.470 回答
0

这个问题是笼统的,所以我将给出一个可能对您有所帮助的笼统答案。

我使用 C5 通用集合库,它具有MultiHashDictionary, 这是一个通用集合,您可以在那里加载结果并按照您说的方式获取它们。

MultiHashDictionary<K, V>类似于,Dictionary<k,v>但键不是唯一的,您可以将其分组。它可以帮助我获得像你这样的结果。

从http://www.itu.dk/research/c5/获取 C5 库

于 2012-10-29T09:23:51.760 回答