发布于 1年前

C#对DataTable做LINQ查询

我们是不能直接对DataTable做LINQ查询,DataRowCollection是没有实现IEnumerable<T>。有一些方法可以间接实现对DataTable执行LINQ查询。

AsEnumerable()

使用DataTable的扩展AsEnumerable(),把DataTable转换为IEnumerable<DataRow>。

var results = from myRow in myDataTable.AsEnumerable()
where myRow.Field<int>("RowNo") == 1
select myRow;

DataTable.Rows

调用DataTable的Rows,把row转换为DataRow。

var results = from DataRow myRow in myDataTable.Rows
    where (int)myRow["RowNo"] == 1
    select myRow
©2020 edoou.com   京ICP备16001874号-3