datatablesでlinqクエリを習得
LINQの汎用性はさまざまなデータソースにまで拡張されますが、Datatablesを照会するには特定のアプローチが必要です。 LinqをDatatableの行に直接適用すると、多くの場合、エラーが発生します。たとえば、
<code class="language-c#">var results = from myRow in myDataTable where results.Field("RowNo") == 1 select results;</code>
このコードは失敗します。
asenumerable()solution
キーは、AsEnumerable()
拡張法を使用することです。これにより、DataTableのRows
コレクションがIEnumerable<DataRow>
に変換され、シームレスなLINQ統合が可能になります。 正しいアプローチは次のとおりです
<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の力を活用して、データテーブルを操作するときに.NETアプリケーション内で効率的なデータ操作とフィルタリングを行うことができます。
以上がLINQを使用してデータテーブルを効果的に照会するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。