DbExpressionBuilder.Join Metódus

Definíció

Túlterhelések

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

Létrehoz egy újatDbJoinExpression, amely összekapcsolja a külső és a belső kifejezés által megadott csoportokat a megadott külső és belső kulcsok közötti egyenlőségi feltétellel, az InnerJoin használatával.DbExpressionKind

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

Létrehoz egy újatDbProjectExpression, amely kivetíti a megadott választót a külső és belső kifejezések által megadott készletek fölé, a megadott külső és belső kulcsok közötti egyenlőségi feltételhez csatlakozva, az InnerJoin használatával.DbExpressionKind

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

Létrehoz egy újatDbJoinExpression, amely összekapcsolja a külső és a belső kifejezés által megadott csoportokat a megadott külső és belső kulcsok közötti egyenlőségi feltétellel, az InnerJoin használatával.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

Paraméterek

outer
DbExpression

A DbExpression külső halmaz argumentumát meghatározó argumentum.

inner
DbExpression

A DbExpression belső halmaz argumentumát meghatározó érték.

outerKey
Func<DbExpression,DbExpression>

Egy metódus, amely meghatározza, hogyan kell a külső kulcs értékét a külső készlet egy eleméből származtatni.

innerKey
Func<DbExpression,DbExpression>

Egy metódus, amely meghatározza, hogyan kell a belső kulcs értékét a belső készlet egy eleméből származtatni.

Válaszok

Egy új DbJoinExpression innerJoin-nal DbExpressionKind , amely a bal és jobb oldali bemeneti készletekre alkalmazott belső illesztési műveletet jelöli egy illesztési feltétel mellett, amely összehasonlítja a külső és belső kulcs értékeit az egyenlőség szempontjából.

Kivételek

outer, innervagy outerKeyinnerKey null értékű.

-vagy-

A null érték által outerKey előállított vagy innerKey null értékű kifejezés.

outer vagy inner nem rendelkezik gyűjteményeredmény-típussal.

-vagy-

Az egyenlőség által outerKey előállított és innerKey nem összehasonlítható kifejezések.

A következőre érvényes:

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

Létrehoz egy újatDbProjectExpression, amely kivetíti a megadott választót a külső és belső kifejezések által megadott készletek fölé, a megadott külső és belső kulcsok közötti egyenlőségi feltételhez csatlakozva, az InnerJoin használatával.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

Típusparaméterek

TSelector

selectorA .

Paraméterek

outer
DbExpression

A DbExpression külső halmaz argumentumát meghatározó argumentum.

inner
DbExpression

A DbExpression belső halmaz argumentumát meghatározó érték.

outerKey
Func<DbExpression,DbExpression>

Egy metódus, amely meghatározza, hogyan kell a külső kulcs értékét a külső készlet egy eleméből származtatni.

innerKey
Func<DbExpression,DbExpression>

Egy metódus, amely meghatározza, hogyan kell a belső kulcs értékét a belső készlet egy eleméből származtatni.

selector
Func<DbExpression,DbExpression,TSelector>

Egy metódus, amely meghatározza, hogyan kell az eredményhalmaz egy elemét a belső és a külső halmaz elemeiből származtatni. Ennek a metódusnak olyan típusú példányt kell létrehoznia, amely kompatibilis a Csatlakozással, és feloldható egy DbExpression. A kompatibilitási TSelector követelményeket a megjegyzések ismertetik.

Válaszok

Egy új DbProjectExpression a megadott választójellel, és egy új DbJoinExpression bemenetként. A bemeneti DbJoinExpression egy DbExpressionKind InnerJoin-nal jön létre, amely a bal és jobb oldali bemeneti készletekre alkalmazott belső illesztési műveletet jelöli olyan illesztési feltétel mellett, amely összehasonlítja a külső és a belső kulcs értékeit az egyenlőség érdekében.

Kivételek

outer, inner, outerKeyvagy innerKeyselector null értékű.

-vagy-

A null érték által outerKey előállított vagy innerKey null értékű kifejezés.

-vagy-

Az eredmény selector null értékű a DbExpression-ra való átalakítás után.

outer vagy inner nem rendelkezik gyűjteményeredmény-típussal.

-vagy-

Az egyenlőség által outerKey előállított és innerKey nem összehasonlítható kifejezések.

-vagy-

Az eredmény selector nem kompatibilis a SelectManyvel.

Megjegyzések

A csatlakozással TSelector való kompatibilitáshoz a DbExpression által származtatott tulajdonságokból DbExpressionkell származnia, vagy névtelen típusnak kell lennie. Az alábbiakban példákat láthat a támogatott típusokra:TSelector

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

(TSelector is DbPropertyExpression).

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

(TSelector egy névtelen típus dbExpression-származtatott tulajdonságokkal).

A következőre érvényes: