LINQ可以用于从DataTable中提取符合指定列值的行吗
本文关键字:用于 DataTable 提取 LINQ | 更新日期: 2023-09-27 18:20:14
我正在编写一个C#应用程序,该应用程序需要从DataTable中提取其中一列中包含特定值的行。
示例数据如下所示;
ID Value1 Value2
-----------------------
1 AAA BBB
2 MMM CCC
1 RRR 999
2 ZZZ XXX
我想将ID=1和ID=2的行提取到单独的新DataTables中。LINQ中有什么可以做到这一点吗?我还将遇到这样的情况:我将有两列作为行的键值。
一种非常简单的方法:)
List<DataTable> Tables = new List<DataTable>();
//Have some loop to search each item
IEnumerable<DataRow> query = from MyRows in Olddt.AsEnumerable()
where MyRows.Field<int>("ID") == ItemToSearch ||
MyRows.Field<string>("Value1").Contains(ItemToSearch ) ||
MyRows.Field<string>("Value2").Contains(ItemToSearch )
select MyRows;
DataTable dtNew = query.CopyToDataTable();
Tables.Add(ss); // Add New Datatable to Collection of DataTables.