ray88’s diary

お仕事で困ったとき用の自分用の覚書

Uipath LINQを使用してDatatableにSQLをかける

UiPath 目次 - ray88’s diary
参考URL
VB.NET LINQを使用してSQLをかける - ray88’s diary
.NET プログラマーのためのUiPath Tips集
IEnumerableの形式に変換することで、C#VB.NETLINQ機能を利用してデータテーブルの操作を行うことができる
DataTableオブジェクトのAsEnumerable()は、System.Data.DataTableExtensionsクラスに含まれる拡張メソッドで、DataTableをIEnumerableに変換するために使用される。
AsEnumerable()メソッドを呼び出すことにより、データテーブルの各行がIEnumerableに変換され、LINQクエリを使用してデータをフィルタリング、並べ替え、集計、グルーピングなどを行うことができます。
AsEnumerable()を使用すると、データテーブルの各行にアクセスすることができる。

■実装例

※以下はInvokeCodeに記述したコード

Dim commonColumn = "ID"
resultTable = tableA.AsEnumerable().
                Join(tableB.AsEnumerable(),
                     Function(rowA) rowA.Field(Of Integer)(commonColumn),
                     Function(rowB) rowB.Field(Of Integer)(commonColumn),
                     Function(rowA, rowB) rowA).CopyToDataTable()