var topLevel= resultRows.GroupBy(g => g["CustomerAccountType"]);
我想仅选择Actual1
,Actual2
,Actual3
等列。列的名称不是预先知道的 - 它们是动态组合的。
我没有使用强类型对象,因为resultsRows是来自SQL多维数据集的构造字典。
我想将ActualN ... to..ActualN动态添加到集合中作为字典。
答案 0 :(得分:1)
您可以使用Select
来预测Actual1, Actual2, Actual3
:
var topLevel= resultRows
.Select(d => new Dictionary<string,object> {
{"Actual1", d["Actual1"]}
, {"Actual2", d["Actual2"]}
, {"Actual3", d["Actual3"]}
});
这将从您的字典中删除Actual1, Actual2, Actual3
以外的所有列。
我希望动态添加
Actual1
ActualN
,而不知道有多少
你也可以这样做:
// Construct this list dynamically
var selection = new List<string> {
"Actual1", "Actual2", ..., "ActualN"
};
var topLevel= resultRows.Select(d => selection.ToDictionary(s => s, s => d[s]));