DbExpressionBuilder.Join メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>) |
外部式と内部式によって指定されたセットを結合する新しい DbJoinExpression を作成します。セットは、InnerJoin に DbExpressionKind を使用し、指定された外部キーと内部キー間の等価条件に基づいて結合されます。 |
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>) |
指定されたセレクターで、外部式と内部式によって指定されたセットを射影する新しい DbProjectExpression を作成します。セットは、InnerJoin に DbExpressionKind を使用し、指定された外部キーと内部キー間の等価条件に基づいて結合されます。 |
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)
外部式と内部式によって指定されたセットを結合する新しい DbJoinExpression を作成します。セットは、InnerJoin に 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
外部セット引数を指定する DbExpression。
- inner
- DbExpression
内部セット引数を指定する DbExpression。
- outerKey
- Func<DbExpression,DbExpression>
外部セットの要素からどのように外部キーの値を得るかを指定するメソッド。
- innerKey
- Func<DbExpression,DbExpression>
内部セットの要素からどのように内部キーの値を得るかを指定するメソッド。
戻り値
新しい DbJoinExpression は、InnerJoin の DbExpressionKind を使用して作成され、外部キー値と内部キー値の等価性を比較する結合条件で左の入力セットと右の入力セットに適用される内部結合操作を表します。
例外
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>)
指定されたセレクターで、外部式と内部式によって指定されたセットを射影する新しい DbProjectExpression を作成します。セットは、InnerJoin に 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
外部セット引数を指定する 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 派生プロパティを持つ匿名型です)。
適用対象
.NET