2つのテーブル間に左結合を作成する次のlinqクエリがあります。
var joinResultRows = from leftTable in dataSet.Tables[leftTableName].AsEnumerable()
join
rightTable in dataSet.Tables[rightTableName].AsEnumerable()
on leftTable.Field<string>(leftComparedColumnName) equals rightTable.Field<string>(rightComparedColumnName)
into leftJoinedResult
select new { leftTable, leftJoinedResult };
これに答える行を取得したい:左側の列の文字列値には、右側の列の文字列値が含まれています。
私はこれを試しました:
var joinResultRows = from leftTable in dataSet.Tables[leftTableName].AsEnumerable()
join
rightTable in dataSet.Tables[rightTableName].AsEnumerable()
on leftTable.Field<string>(leftComparedColumnName).Contains(rightTable.Field<string>(rightComparedColumnName)) equals true
into leftJoinedResult
select new { leftTable, leftJoinedResult };
ただし、結合の左側でrightTableが認識されないため、機能しません。
String.Containsを生成する結合を作成するにはどうすればよいですか?「where」句または「On」句でcontainsを実行しますか?