0

我需要使用 linq 动态地对列进行分组,即用户将在运行时选择表和列。

在此处输入图像描述

例如:上表有领土,

州,银行名称,

假设用户已选择这些列进行分组(地区、银行名称)

如何使用 linq 来做到这一点?

4

1 回答 1

1

你可能想使用System.Linq.Dynamic

var fields = new List<string>() { "Territory", "Bank Name"};
var qfields = string.Join(", ", fields.Select(x => "it[\"" + x + "\"] as " + x));

var q = dt
    .AsEnumerable()
    .AsQueryable()
    .GroupBy("new(" + qfields + ")", "it")
    .Select("new (it as Data)");
foreach (dynamic d in q)
{
    foreach (var row in d.Data)
    {
       // Do your work here, using d.Territory
    }  
}

检查这篇文章根据列名列表将数据表拆分为多个数据表

于 2013-08-05T14:54:34.850 回答