如何从linq中的数据表中动态选择?

时间:2019-05-08 23:03:58

标签: c# linq

我有一个对数据表进行分组和选择的方法(以及其他方法)。如果可能,需要将选择动态传递到方法中。

我尝试将Func <...>传递给方法。我读了其他答案,暗示我可能需要创建一个强类型,并可能使用泛型使其正常工作。

var dtDistinct = dtRaw.AsEnumerable()
    .GroupBy(g => g.Field<string>("DisplayName").ToString())
    .Select(group => new
    {
        DisplayName = group.Key,
        Value = string.Join("_", group.Select(s => s.Field<int>("Value"))),
        OrderBy = group.Max(s => s.Field<object>(columnNameToOrderBy).ToString())
    })
    .ToDataTable();

上面的代码中的所有内容总是如此,除非有时在dtRaw中可能还需要选择其他列。这些其他列并不总是具有相同的名称或数据类型。

0 个答案:

没有答案