c# - 使用两列的 Linq 查询分组数据表

标签 c# linq datatable

我在这里有一个问题。我是新手,请原谅我的术语,我正在查询一个数据表,我需要根据日期及其唯一访问代码对该数据表进行分组。

var tMainTable = (from System.Data.DataRow b in _tData.data_table.Rows
group b by b["ACCESS_CODE"] into bGroup
select new
{ bGroup });

在我上面的当前分组中,我根据访问代码对数据表进行分组。我的数据表由3个字段组成:DATE、ACCESS_CODE、COUNT。前提是我不能使我的数据表 AsEnumerable() 类型。

所以这一次,我想在它的条件中添加,也就是按日期分组......有没有这样的东西:

var tMainTable = (from System.Data.DataRow b in _tData.data_table.Rows
**group b by b["ACCESS_CODE"] AND b["DATE"] into bGroup**
select new
{ bGroup });

感谢您的任何意见。

最佳答案

为您的分组使用匿名类型:

var codeDateGroups = _tData.data_table.AsEnumerable()
    .GroupBy(r => new { 
        AccessCode = r.Field<string>("ACCESS_CODE"), 
        Date = r.Field<DateTime>("DATE") 
    });

您可以通过 Key 访问它:

foreach(var group in codeDateGroups)
    Console.WriteLine("Code=[{0}] Date=[{1}]" 
        , group.Key.AccessCode
        , group.Key.Date);

关于c# - 使用两列的 Linq 查询分组数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16730620/

相关文章:

Exchange 2013 上的 C# EWS Api : Get an attachment into a Stream

c# - 在 C# 中对预排序输入进行优化分组

c# - 在使用 silverlight 时,有没有办法使用按钮来更改网页?

c# - 什么是 linq "best practices"

r - 根据 dplyr 中的条件查找组之间的差异

Mysql 一个单元格中有多个值

r - 在R中按组计算每两行值的比例

c# - 由于某种原因 else if 不起作用

c# - 从内存集合中快速自动完成 (.NET)

linq - 保存 LINQ 查询以供以后使用的最简单方法是什么?