DbExpressionBuilder.Join メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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。これは、外側のキー値と内部キー値が等しいかどうかを比較する結合条件の下で左右の入力セットに適用されます。
例外
outer、 inner、 outerKey 、または innerKey が null です。
-又は-
outerKeyまたはinnerKeyによって生成される式が null です。
outer または inner にコレクションの結果の型がありません。
-又は-
outerKeyとinnerKeyによって生成される式は、等価性と比較できません。
適用対象
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 を使用して作成されます。これは、外部キー値と内部キー値が等しいかどうかを比較する結合条件の下で、左右の入力セットに適用される内部結合操作を表します。
例外
outer、 inner、 outerKey、 innerKey 、または selector が null です。
-又は-
outerKeyまたはinnerKeyによって生成される式が null です。
-又は-
dbExpression への変換後、 selector の結果は null になります。
outer または inner にコレクションの結果の型がありません。
-又は-
outerKeyとinnerKeyによって生成される式は、等価性と比較できません。
-又は-
selectorの結果は、SelectMany と互換性がありません。
注釈
Join と互換性を持つには、 TSelector は DbExpressionから派生するか、DbExpression 派生プロパティを持つ匿名型である必要があります。
TSelectorでサポートされている型の例を次に示します。
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))
(TSelector は DbPropertyExpression)。
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })
(TSelector は、DbExpression 派生プロパティを持つ匿名型です)。