DbExpressionBuilder.Join Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
, outerKey
innerKey
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).