【问题标题】:Combine several DataTables DataRows合并几个DataTables DataRows
【发布时间】:2013-03-20 09:49:36
【问题描述】:

我有一个具有相同结构的 DataTables 数据集。我想从 SINGLE linq 查询中的这些表中获取单个 DataRows 集合

from sourceTab in ds.Tables.OfType<DataTable>() 
select sourceTab

然后我需要从每个表中选择数据行并将它们组合成一个列表

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    使用SelectMany 从每个表中选择所有行并将它们展平为一个序列:

    from row in ds.Tables.Cast<DataTable>().SelectMany(t => t.AsEnumerable())
    // filter, etc 
    select row
    

    如果你只想要所有行,那么使用

    ds.Tables.Cast<DataTable>().SelectMany(t => t.AsEnumerable())
    

    【讨论】:

      【解决方案2】:

      您不需要查询语法来执行此操作。简单的方法查询就好了:

      var results = ds.Tables.Cast<DataTable>().SelectMany(t => t.AsEnumerable())
      

      【讨论】:

        【解决方案3】:

        试试Cast&lt;T&gt;SelectMany&lt;T&gt;

        var r = ds.Tables.Cast<DataTable>().SelectMany(n => n.AsEnumerable())
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-03-30
          • 1970-01-01
          • 1970-01-01
          • 2021-06-08
          • 2014-05-13
          • 2018-03-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多