我想创建一个按2个字段分组的查询,并使用Linq和C#计算这些组合字段的数量。然后我想将查询写入另一个DataTable。我遇到的当前问题是Foreach Staement返回一个关于输入文件太大的错误。我不清楚.Key做了什么。 (我从其他帖子中借用了代码。)我需要将Type和Stage组合在一起。我需要的正确语法是什么?谢谢。
var GroupedDataQuery = from row in dTableFilteredCol1.AsEnumerable()
group row by row.Field<string>("Type")
into grp
select new {
Type = grp.Key,
Stage = grp.Key,
A_Count = grp.Count()
};
//
DataTable dTable = new DataTable();
foreach (var result in GroupedDataQuery)
{
dTable.Rows.Add(
new object[]
{
result.Type,
result.Stage,
result.A_Count
});
}
return dTable;
}
答案 0 :(得分:1)
如果Type
和Stage
是源行的不同字段,那么您可能需要类似
var GroupedDataQuery = from row in dTableFilteredCol1.AsEnumerable()
let type = row.Field<string>("Type")
let stage = row.Field<string>("Stage")
group row by new { type, stage }
into grp
select new
{
Type = grp.Key.type,
Stage = grp.Key.stage,
A_Count = grp.Count()
};