首页 > 后端开发 > C++ > 如何在DataTables上执行LINQ查询?

如何在DataTables上执行LINQ查询?

Linda Hamilton
发布: 2025-01-30 03:16:08
原创
867 人浏览过

How Can I Perform LINQ Queries on DataTables?

使用LINQ查询DataTable:完整指南

虽然普遍认为无法直接使用LINQ查询DataTable,但这其实可以通过一些技巧实现。DataTable默认情况下不实现IEnumerable<T>接口,因此无法直接查询其Rows集合。

解决方法是使用System.Data.DataSetExtensions程序集提供的AsEnumerable()扩展方法。通过在DataTable上调用此方法,您可以获得一个IEnumerable<DataRow>对象,然后就可以用它进行LINQ查询了。

例如,以下查询将返回myDataTableRowNo字段等于1的所有行:

<code class="language-csharp">var results = from myRow in myDataTable.AsEnumerable()
              where myRow.Field<int>("RowNo") == 1
              select myRow;</code>
登录后复制

您也可以使用Lambda表达式创建LINQ查询:

<code class="language-csharp">var result = myDataTable.AsEnumerable()
                         .Where(myRow => myRow.Field<int>("RowNo") == 1);</code>
登录后复制

请注意,您需要在项目中添加对System.Data.DataSetExtensions程序集的引用才能访问这些扩展方法。

如果您需要将查询结果IEnumerable<DataRow>转换回DataTable,可以使用CopyToDataTable()扩展方法。

以上是如何在DataTables上执行LINQ查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板