隐藏

C#对DataTable做LINQ查询

发布:2022/8/1 14:32:54作者:管理员 来源:本站 浏览次数:1514

我们是不能直接对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