【发布时间】:2011-01-31 20:16:27
【问题描述】:
我有通过 C# 程序传递的表格数据,我需要在完成之前收集一些元数据。元数据始终基于数据的字段进行计数。另外,我需要将它们全部按数据中的一个字段分组。我需要定期向这个元数据集合添加新计数。
我已经研究了一段时间,我认为重新编写我的程序以将数据存储为DataTable,然后在表上运行 LINQ 查询是有意义的。我遇到的问题是能够将不同的计数放入一个类似表格的结构中,然后将其写出来。
我可能会运行这样的查询:
var query01 =
from record in records.AsEnumerable()
group record by record.Field<String>("Association Key") into associationsGroup
select new { AssociationKey = associationsGroup.Key, Count = associationsGroup.Count<DataRow>() };
获取按字段关联键分组的所有记录的计数。我想要另一个计数,以相同的方式分组:
var query02 =
from record in records.AsEnumerable()
where record.Field<String>("Number 9") == "yes"
group record by record.Field<String>("Association Key") into associationsGroup
select new { AssociationKey = associationsGroup.Key, Number9Count = associationsGroup.Count<DataRow>() };
等等。
我曾考虑尝试Union 链接查询,但由于我投影到匿名类型,因此无法将它们联合起来。我不知道如何以不同的方式让工会更好地运作。
那么,如何将我的元数据收集到一个类似表格的结构中?
【问题讨论】: