Partager via


DbExpressionBuilder.Join Méthode

Définition

Surcharges

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

Crée un DbJoinExpression qui joint les jeux indiqués par les expressions externes et internes sur une condition d’égalité entre les clés externes et internes spécifiées, à l’aide d’InnerJoin comme DbExpressionKind.

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

Crée un DbProjectExpression qui projette le sélecteur spécifié sur les jeux indiqués par les expressions externes et internes, jointes sur une condition d’égalité entre les clés externes et internes spécifiées, à l’aide d’InnerJoin comme DbExpressionKind.

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

Crée un DbJoinExpression qui joint les jeux indiqués par les expressions externes et internes sur une condition d’égalité entre les clés externes et internes spécifiées, à l’aide d’InnerJoin comme 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ètres

outer
DbExpression

DbExpression qui spécifie l’argument du jeu externe.

inner
DbExpression

DbExpression qui spécifie l’argument du jeu interne.

outerKey
Func<DbExpression,DbExpression>

Méthode qui spécifie comment la valeur de clé externe doit être dérivée d’un élément du jeu externe.

innerKey
Func<DbExpression,DbExpression>

Méthode qui spécifie comment la valeur de clé interne doit être dérivée d’un élément du jeu interne.

Retours

Nouvelle DbJoinExpression avec un DbExpressionKind InnerJoin, qui représente l’opération de jointure interne appliquée aux jeux d’entrée gauche et droite sous une condition de jointure qui vérifie que les valeurs de clé externes et internes sont égales.

Exceptions

outer, inner, outerKey ou innerKey a la valeur Null.

- ou -

L’expression produite par outerKey ou innerKey a la valeur Null.

outer ou inner n’a pas de résultat de type collection.

- ou -

Les expressions produites par outerKey et innerKey ne peuvent pas être comparées pour vérifier si elles sont égales.

S’applique à

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

Crée un DbProjectExpression qui projette le sélecteur spécifié sur les jeux indiqués par les expressions externes et internes, jointes sur une condition d’égalité entre les clés externes et internes spécifiées, à l’aide d’InnerJoin comme 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

Paramètres de type

TSelector

Type de selector.

Paramètres

outer
DbExpression

DbExpression qui spécifie l’argument du jeu externe.

inner
DbExpression

DbExpression qui spécifie l’argument du jeu interne.

outerKey
Func<DbExpression,DbExpression>

Méthode qui spécifie comment la valeur de clé externe doit être dérivée d’un élément du jeu externe.

innerKey
Func<DbExpression,DbExpression>

Méthode qui spécifie comment la valeur de clé interne doit être dérivée d’un élément du jeu interne.

selector
Func<DbExpression,DbExpression,TSelector>

Méthode qui spécifie comment un élément du jeu de résultats doit être dérivé d’éléments des jeux interne et externe. Cette méthode doit produire une instance d’un type compatible avec Join et pouvant être résolue en DbExpression. Les critères de compatibilité pour TSelector sont décrits dans les remarques.

Retours

Nouveau DbProjectExpression avec le sélecteur spécifié en tant que projection et un nouveau DbJoinExpression comme entrée. L’entrée DbJoinExpression est créée avec un DbExpressionKind InnerJoin, qui représente l’opération de jointure interne appliquée aux jeux d’entrée gauche et droite sous une condition de jointure qui vérifie que les valeurs de clé externes et internes sont égales.

Exceptions

outer, inner, outerKeyinnerKey ou selector a la valeur null.

- ou -

L’expression produite par outerKey ou innerKey a la valeur Null.

- ou -

Le résultat de selector a la valeur Null après la conversion en DbExpression.

outer ou inner n’a pas de résultat de type collection.

- ou -

Les expressions produites par outerKey et innerKey ne peuvent pas être comparées pour vérifier si elles sont égales.

- ou -

Le résultat de selector n’est pas compatible avec SelectMany.

Remarques

Pour être compatible avec Join, TSelector doit être dérivé de DbExpression, ou doit être un type anonyme avec des propriétés dérivées de DbExpression. Voici des exemples de types pris en charge pour TSelector:

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

(TSelector est DbPropertyExpression).

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

(TSelector est un type anonyme avec des propriétés dérivées de DbExpression).

S’applique à