DbExpressionBuilder.Join Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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).