>掌握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中文網其他相關文章!