>掌握DataTables上的Linq查询 linq的多功能性扩展到各种数据源,但是查询数据源需要特定的方法。 直接将LINQ应用于DataTable的行通常会导致错误。例如:
此代码将失败。
<code class="language-c#">var results = from myRow in myDataTable where results.Field("RowNo") == 1 select results;</code>
关键是使用
>扩展方法。这将数据集的集合转换为AsEnumerable()
,从而实现了无缝的LINQ集成。 正确的方法是:Rows
IEnumerable<DataRow>
<code class="language-c#">var results = from myRow in myDataTable.AsEnumerable() where myRow.Field<int>("RowNo") == 1 select myRow;</code>
确保您在项目中添加了对
的参考,以使用System.Data.DataSetExtensions
>将结果AsEnumerable()
转换为数据表,采用IEnumerable<DataRow>
CopyToDataTable()
> lambda表达式:一种更简洁的方法lambda表达式提供了更紧凑的语法:
以上是如何使用LINQ有效查询数据表?的详细内容。更多信息请关注PHP中文网其他相关文章!