我在这里有一个问题。我是一个新手如此原谅我的术语,我正在查询数据表,我需要根据日期和他们唯一的访问代码对这个数据表进行分组。
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 });
感谢您的任何意见。
答案 0 :(得分:2)
使用匿名类型进行分组:
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);
答案 1 :(得分:1)
var tMainTable = (from System.Data.DataRow b in _tData.data_table.Rows
group b by new { AccessCode = b["ACCESS_CODE"], Date = b["DATE"] } into bGroup
select new
{ bGroup });
答案 2 :(得分:1)
var groups = _tData.data_table.AsEnumerable()
.GroupBy(row=> new {row["ACCESS_CODE"],row["DATE"] });