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
| Nom | Description |
|---|---|
| Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>) |
Crée un nouveau DbJoinExpression qui joint les jeux spécifiés par les expressions externes et internes, sur une condition d’égalité entre les clés externes et internes spécifiées, en utilisant InnerJoin comme le DbExpressionKind. |
| Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>) |
Crée un nouveau DbProjectExpression qui projette le sélecteur spécifié sur les jeux spécifiés par les expressions externes et internes, joint à une condition d’égalité entre les clés externes et internes spécifiées, en utilisant InnerJoin comme le DbExpressionKind. |
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)
Crée un nouveau DbJoinExpression qui joint les jeux spécifiés par les expressions externes et internes, sur une condition d’égalité entre les clés externes et internes spécifiées, en utilisant InnerJoin comme le 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
Qui DbExpression spécifie l’argument set externe.
- inner
- DbExpression
Qui DbExpression spécifie l’argument set interne.
- outerKey
- Func<DbExpression,DbExpression>
Méthode qui spécifie la façon dont 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 la façon dont la valeur de clé interne doit être dérivée d’un élément du jeu interne.
Retours
Nouvelle DbJoinExpression, avec innerJoin DbExpressionKind , qui représente l’opération de jointure interne appliquée aux jeux d’entrée de gauche et de droite sous une condition de jointure qui compare les valeurs de clé externe et interne pour l’égalité.
Exceptions
outer, innerouterKey ou innerKey est null.
- ou -
L’expression produite par outerKey ou innerKey est null.
outer ou inner n’a pas de type de résultat de collection.
- ou -
Les expressions produites par outerKey et innerKey ne sont pas comparables pour l’égalité.
S’applique à
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)
Crée un nouveau DbProjectExpression qui projette le sélecteur spécifié sur les jeux spécifiés par les expressions externes et internes, joint à une condition d’égalité entre les clés externes et internes spécifiées, en utilisant InnerJoin comme le 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 du selector.
Paramètres
- outer
- DbExpression
Qui DbExpression spécifie l’argument set externe.
- inner
- DbExpression
Qui DbExpression spécifie l’argument set interne.
- outerKey
- Func<DbExpression,DbExpression>
Méthode qui spécifie la façon dont 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 la façon dont 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 internes et externes. Cette méthode doit produire une instance d’un type compatible avec Join et peut être résolue en un DbExpression. Les exigences TSelector de compatibilité sont décrites dans les remarques.
Retours
Nouveau DbProjectExpression avec le sélecteur spécifié comme projection, et une nouvelle DbJoinExpression comme entrée. L’entrée DbJoinExpression est créée avec innerJoin DbExpressionKind , qui représente l’opération de jointure interne appliquée aux ensembles d’entrées de gauche et de droite sous une condition de jointure qui compare les valeurs de clé externe et interne pour l’égalité.
Exceptions
outer, inner, ou outerKeyinnerKeyselector est null.
- ou -
L’expression produite par outerKey ou innerKey est null.
- ou -
Le résultat est selector null après la conversion en DbExpression.
outer ou inner n’a pas de type de résultat de collection.
- ou -
Les expressions produites par outerKey et innerKey ne sont pas comparables pour l’égalité.
- ou -
Le résultat n’est selector pas compatible avec SelectMany.
Remarques
Pour être compatible avec Join, TSelector doit être dérivé de , ou doit être un type anonyme avec des propriétés dérivées de DbExpressionDbExpression. 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).