DbExpressionBuilder.Join メソッド

定義

オーバーロード

名前 説明
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

innerJoin をDbJoinExpressionとして使用して、指定した外部キーと内部キーの間の等価条件で、外部式と内部式で指定されたセットを結合する新しいDbExpressionKindを作成します。

Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)

innerJoin をDbProjectExpressionとして使用して、指定した外部キーと内部キーの間の等しい条件で結合された、外側の式と内部式で指定されたセットに対して、指定したセレクターを投影する新しいDbExpressionKindを作成します。

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

innerJoin をDbJoinExpressionとして使用して、指定した外部キーと内部キーの間の等価条件で、外部式と内部式で指定されたセットを結合する新しいDbExpressionKindを作成します。

public:
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbJoinExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey);
public static System.Data.Common.CommandTrees.DbJoinExpression Join(this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey);
static member Join : System.Data.Common.CommandTrees.DbExpression * System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> -> System.Data.Common.CommandTrees.DbJoinExpression
<Extension()>
Public Function Join (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression)) As DbJoinExpression

パラメーター

outer
DbExpression

外側の set 引数を指定する DbExpression

inner
DbExpression

内部セット引数を指定する DbExpression

outerKey
Func<DbExpression,DbExpression>

外部セットの要素から外部キー値を派生させる方法を指定するメソッド。

innerKey
Func<DbExpression,DbExpression>

内部セットの要素から内部キー値を派生させる方法を指定するメソッド。

返品

内部結合操作を表す InnerJoin の DbExpressionKind を持つ新しい DbJoinExpression。これは、外側のキー値と内部キー値が等しいかどうかを比較する結合条件の下で左右の入力セットに適用されます。

例外

outerinnerouterKey 、または innerKey が null です。

-又は-

outerKeyまたはinnerKeyによって生成される式が null です。

outer または inner にコレクションの結果の型がありません。

-又は-

outerKeyinnerKeyによって生成される式は、等価性と比較できません。

適用対象

Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)

innerJoin をDbProjectExpressionとして使用して、指定した外部キーと内部キーの間の等しい条件で結合された、外側の式と内部式で指定されたセットに対して、指定したセレクターを投影する新しいDbExpressionKindを作成します。

public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression Join<TSelector>(this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member Join : System.Data.Common.CommandTrees.DbExpression * System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function Join(Of TSelector) (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

型パラメーター

TSelector

selectorの型。

パラメーター

outer
DbExpression

外側の set 引数を指定する DbExpression

inner
DbExpression

内部セット引数を指定する DbExpression

outerKey
Func<DbExpression,DbExpression>

外部セットの要素から外部キー値を派生させる方法を指定するメソッド。

innerKey
Func<DbExpression,DbExpression>

内部セットの要素から内部キー値を派生させる方法を指定するメソッド。

selector
Func<DbExpression,DbExpression,TSelector>

結果セットの要素を内部セットと外部セットの要素から派生させる方法を指定するメソッド。 このメソッドは、Join と互換性があり、 DbExpressionに解決できる型のインスタンスを生成する必要があります。 TSelectorの互換性要件については、「解説」を参照してください。

返品

指定したセレクターをプロジェクションとして使用し、新しい DbJoinExpression を入力として持つ新しい DbProjectExpression。 入力 DbJoinExpression は、内部結合操作を表す InnerJoin の DbExpressionKind を使用して作成されます。これは、外部キー値と内部キー値が等しいかどうかを比較する結合条件の下で、左右の入力セットに適用される内部結合操作を表します。

例外

outerinnerouterKeyinnerKey 、または selector が null です。

-又は-

outerKeyまたはinnerKeyによって生成される式が null です。

-又は-

dbExpression への変換後、 selector の結果は null になります。

outer または inner にコレクションの結果の型がありません。

-又は-

outerKeyinnerKeyによって生成される式は、等価性と比較できません。

-又は-

selectorの結果は、SelectMany と互換性がありません。

注釈

Join と互換性を持つには、 TSelectorDbExpressionから派生するか、DbExpression 派生プロパティを持つ匿名型である必要があります。 TSelectorでサポートされている型の例を次に示します。

outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))

(TSelectorDbPropertyExpression)。

outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })

(TSelector は、DbExpression 派生プロパティを持つ匿名型です)。

適用対象