次の方法で共有


結合操作 (Visual Basic)

2 つのデータ ソースの 結合 は、あるデータ ソース内のオブジェクトと、別のデータ ソースで共通の属性を共有するオブジェクトとの関連付けです。

結合は、相互のリレーションシップを直接フォローできないデータ ソースを対象とするクエリの重要な操作です。 オブジェクト指向プログラミングでは、これは、一方向リレーションシップの逆方向など、モデル化されていないオブジェクト間の相関関係を意味する可能性があります。 一方向リレーションシップの例として、City 型のプロパティを持つ Customer クラスがありますが、City クラスには Customer オブジェクトのコレクションであるプロパティがありません。 City オブジェクトの一覧があり、各都市のすべての顧客を検索する場合は、結合操作を使用してそれらを検索できます。

LINQ フレームワークで提供される結合メソッドは、JoinGroupJoinです。 この 2 つのメソッドは、等結合 (キーが等しいかどうかに基づいて 2 つのデータ ソースを対応させる結合) を実行します。 (比較のために、Transact-SQL では、'equals' 以外の結合演算子 (例: 'less than' 演算子) がサポートされます)。リレーショナル データベースの用語では、 Join は内部結合を実装します。これは、他のデータ セットに一致するオブジェクトのみが返される結合の種類です。 リレーショナル データベース用語で GroupJoin メソッドに直接相当するものはありませんが、このメソッドは内部結合と左外部結合のスーパーセットを実装します。 左外部結合は、最初の (左) データ ソースの各要素を返す結合です。他のデータ ソースに相関する要素がない場合でも、その要素が返されます。

次の図は、2 つのセットと、内部結合または左外部結合に含まれるセット内の要素の概念図を示しています。

内側/外側を示す 2 つの重複する円。

メソッド

メソッド名 説明 Visual Basic のクエリ式の構文 詳細情報
参加する キー セレクター関数に基づいて 2 つのシーケンスを結合し、値のペアを抽出します。 From x In …, y In … Where x.a = y.a

-又は-

Join … [As …]In … On …
Enumerable.Join

Queryable.Join
グループに参加 キー セレクター関数に基づいて 2 つのシーケンスを結合し、各要素について結果として得られる一致をグループ化します。 Group Join … In … On … Enumerable.GroupJoin

Queryable.GroupJoin

こちらも参照ください