DbExpressionBuilder.Join Methode

Definitie

Overloads

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

Hiermee maakt u een nieuwe DbJoinExpression die de sets koppelt die zijn opgegeven door de buitenste en binnenste expressies, op een gelijkheidsvoorwaarde tussen de opgegeven buitenste en binnenste sleutels, waarbij InnerJoin wordt gebruikt als de DbExpressionKind.

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

Hiermee maakt u een nieuwe DbProjectExpression die de opgegeven selector projecteert op de sets die zijn opgegeven door de buitenste en binnenste expressies, samengevoegd op een gelijkheidsvoorwaarde tussen de opgegeven buitenste en binnenste sleutels, waarbij InnerJoin wordt gebruikt als de DbExpressionKind.

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

Hiermee maakt u een nieuwe DbJoinExpression die de sets koppelt die zijn opgegeven door de buitenste en binnenste expressies, op een gelijkheidsvoorwaarde tussen de opgegeven buitenste en binnenste sleutels, waarbij InnerJoin wordt gebruikt als de 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

Parameters

outer
DbExpression

Een DbExpression die het argument buitenste set aangeeft.

inner
DbExpression

Een DbExpression die het interne setargument aangeeft.

outerKey
Func<DbExpression,DbExpression>

Een methode die aangeeft hoe de buitenste sleutelwaarde moet worden afgeleid van een element van de buitenste set.

innerKey
Func<DbExpression,DbExpression>

Een methode die aangeeft hoe de waarde van de binnenste sleutel moet worden afgeleid van een element van de binnenste set.

Retouren

Een nieuwe DbJoinExpression, met een DbExpressionKind van InnerJoin, die de inner join-bewerking vertegenwoordigt die wordt toegepast op de linker- en rechterinvoersets onder een joinvoorwaarde waarmee de waarden van de buitenste en binnenste sleutel voor gelijkheid worden vergeleken.

Uitzonderingen

outer outerKey, innerof innerKey is null.

– of –

De expressie die wordt geproduceerd door outerKey of innerKey is null.

outer of inner heeft geen resultaattype voor de verzameling.

– of –

De expressies die door outerKey en innerKey zijn niet vergelijkbaar voor gelijkheid.

Van toepassing op

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

Hiermee maakt u een nieuwe DbProjectExpression die de opgegeven selector projecteert op de sets die zijn opgegeven door de buitenste en binnenste expressies, samengevoegd op een gelijkheidsvoorwaarde tussen de opgegeven buitenste en binnenste sleutels, waarbij InnerJoin wordt gebruikt als de 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

Type parameters

TSelector

Het type van de selector.

Parameters

outer
DbExpression

Een DbExpression die het argument buitenste set aangeeft.

inner
DbExpression

Een DbExpression die het interne setargument aangeeft.

outerKey
Func<DbExpression,DbExpression>

Een methode die aangeeft hoe de buitenste sleutelwaarde moet worden afgeleid van een element van de buitenste set.

innerKey
Func<DbExpression,DbExpression>

Een methode die aangeeft hoe de waarde van de binnenste sleutel moet worden afgeleid van een element van de binnenste set.

selector
Func<DbExpression,DbExpression,TSelector>

Een methode die aangeeft hoe een element van de resultatenset moet worden afgeleid van elementen van de binnenste en buitenste sets. Deze methode moet een exemplaar produceren van een type dat compatibel is met Join en kan worden omgezet in een DbExpression. Compatibiliteitsvereisten voor TSelector worden beschreven in opmerkingen.

Retouren

Een nieuwe DbProjectExpression met de opgegeven selector als projectie en een nieuwe DbJoinExpression als invoer. De invoer DbJoinExpression wordt gemaakt met een DbExpressionKind van InnerJoin, die de inner join-bewerking vertegenwoordigt die wordt toegepast op de linker- en rechterinvoersets onder een joinvoorwaarde waarmee de buitenste en binnenste sleutelwaarden voor gelijkheid worden vergeleken.

Uitzonderingen

outer, inner, of innerKeyouterKeyselector is null.

– of –

De expressie die wordt geproduceerd door outerKey of innerKey is null.

– of –

Het resultaat is selector null na conversie naar DbExpression.

outer of inner heeft geen resultaattype voor de verzameling.

– of –

De expressies die worden geproduceerd door outerKey en innerKey zijn niet vergelijkbaar voor gelijkheid.

– of –

Het resultaat selector is niet compatibel met SelectMany.

Opmerkingen

Als u compatibel wilt zijn met Join, TSelector moet u zijn afgeleid van DbExpressionof een anoniem type met dbExpression-afgeleide eigenschappen. Hieronder ziet u voorbeelden van ondersteunde typen voor 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 is een anoniem type met dbExpression-afgeleide eigenschappen).

Van toepassing op