【问题标题】:LINQ groupby and countLINQ groupby 和 count
【发布时间】:2012-06-24 13:31:22
【问题描述】:

我有以下 LINQ 查询:

From metasect In DirectCast(Form.ChildDocBox.Tag, META_DOCUMENT).META_SECTIONS
From metaset In metasect.META_SETS
From metacell In metaset.META_CELLS
From lookup In metacell.CHILD_META_CELL_CELLS_LOOKUPS
Where lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_DOCUMENT.META_DOC_ID = docToDelete.META_DOC_ID
Select metasect.META_SECT_NAME + " gets from " + lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME Distinct

Select 指令选择一个可以重复的表达式,因为在同一对父子元节上有多个查找,这就是我添加 Distinct 子句的原因。

现在,我想计算每对父母/孩子有多少查找

类似

SELECT metasect.META_SECT_NAME + " gets from " + lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME,
       COUNT(lookup)
FROM ...
WHERE ...
GROUP BY metasect.META_SECT_NAME + " gets from " + lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME

提前感谢您的任何建议:)

【问题讨论】:

    标签: linq count group-by


    【解决方案1】:

    我用两步法解决了

    Dim all = From metasect In DirectCast(Form.ChildDocBox.Tag, META_DOCUMENT).META_SECTIONS
              From metaset In metasect.META_SETS
              From metacell In metaset.META_CELLS
              From lookup In metacell.CHILD_META_CELL_CELLS_LOOKUPS
              Where lookup.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_DOCUMENT.META_DOC_ID = docToDelete.META_DOC_ID
              Select lookup
    
    
    For Each grp As IGrouping(Of String, ICELLS_LOOKUP) In
             all.GroupBy(Function(l) l.CHILD_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME + " gets from " + l.PARENT_META_CELL_META_CELL.META_SET.META_SECTION.META_SECT_NAME)
    
        'do some stuff with grp.Key() & grp.Count()'
    
    Next
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多