【问题标题】:Duplicate Combinations of 3 items In DataTableDataTable中3项的重复组合
【发布时间】:2014-06-23 20:32:58
【问题描述】:

我有一种情况需要查找来自 DataTable 的 Guid、String、String 的重复组合。

我最初只需要查找 guid、字符串 - 并使用以下方法解决它:

        var duplicates = m_SysAdminData.JOBCLASSES.AsEnumerable()
            .Where (x => x.IsINACTIVEDATENull())
            .GroupBy(d => new KeyValuePair<Guid, string>   (d.DEPARTMENTS_GID,d.JOBCLASSESPOSITIONTITLE))
            .Where(d => d.Count() > 1);

如何修改它以允许我需要参与的额外字符串?

【问题讨论】:

    标签: linq datatable strongly-typed-dataset


    【解决方案1】:

    LINQ 允许您按匿名类型的对象进行分组,因此您可以像这样重写您的查询:

    var duplicates = m_SysAdminData.JOBCLASSES.AsEnumerable()
            .Where (x => x.IsINACTIVEDATENull())
            .GroupBy(d => new {d.DEPARTMENTS_GID,d.JOBCLASSESPOSITIONTITLE, d.AnotehrString})
            .Where(d => d.Count() > 1);
    

    这会将命名的泛型类型KeyValuePair&lt;Guid, string&gt; 替换为匿名类型,该类型具有派生自JOBCLASSES 对象的DEPARTMENTS_GIDJOBCLASSESPOSITIONTITLEAnotehrString 字段的三个字段。

    【讨论】:

      猜你喜欢
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多