にString.Containsに参加組み合わせ左の列には右の列に文字列の値が入ります。は、私は左を作成するには、次のLINQクエリは、2つのテーブル間の結合をしているLINQクエリ
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'句に含まれていますか?
+1 SelectManyの場合 - LINQはキー均等性によってシーケンス内の要素をペアにする "等結合"のみをサポートします。 – dahlbyk
selectManyは私が考えなかった何か、ありがとう。 一致を見つけましたが、私の問題は解決しません。 LEFT JOINは新しい結合テーブルを作成するか、少なくとも2つのテーブルを持つ匿名型を作成する必要があります(左のものと上記の例のようなもの)。上記のクエリを実行した後、leftTable、leftJoinedResultの両方を使用して結果テーブルを手動で作成しました。 SelectManyを左に参加させることはできますか? – Rodniko
私はLinQと匿名のタイプで何をしようとしているのかを実際に達成する方法はないと思います。しかし、いくつかの回避策があります。私は上記の投稿であなたのために努力していきます。 –