【问题标题】:Is it possible to build dynamic LINQ queries to non-strongly type datatables?是否可以为非强类型数据表构建动态 LINQ 查询?
【发布时间】:2010-01-04 14:56:59
【问题描述】:

使用LINQ,我一直在尝试使用 System.Linq.Dynamic 库来动态查询数据表。问题是它不是强类型的,并且 select 的扩展方法期望一个 IEnumerable 作为源。

有没有办法解决这个问题?示例代码:

var query = dataSet.Tables[0].AsEnumerable().Select("new(Regional)");

【问题讨论】:

    标签: linq dynamic-linq


    【解决方案1】:

    AsEnumerable 返回一个EnumerableRowCollection<DataRow>,因此Select 扩展方法应该可以在AsEnumerable 的结果上正常工作...

    例如:

    var query = dataSet.Tables[0].AsEnumerable().Select(row => row.Field<string>("Regional"));
    

    【讨论】:

    • 我知道。但是您必须指定数据类型和字段才能这样做。这样我就无法使用字符串动态构建查询。
    【解决方案2】:

    我在这里找到了解决方案。我知道这种方法在谈论性能时可能不好,但它适用于我想要的

    HOW TO: Implement a DataSet GROUP BY Helper Class in Visual C# .NET

    【讨论】:

    • 我在您的 linq 中没有看到任何内容是指在松散类型的数据表上使用 Dynamic Linq。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多