首页 > 解决方案 > 如何从 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 中的其他列。这些附加列并不总是具有相同的名称或数据类型。

标签: c#linq

解决方案


推荐阅读