DbExpressionBuilder.Join Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>) |
Crea un nuovo oggetto DbJoinExpression che unisce in join i set specificati dalle espressioni esterne e interne, in base a una condizione di uguaglianza tra le chiavi esterne e interne specificate, usando InnerJoin come DbExpressionKind. |
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>) |
Crea un nuovo oggetto DbProjectExpression che proietta il selettore indicato sui set specificati dalle espressioni esterne e interne, unite in join in una condizione di uguaglianza tra le chiavi esterne e interne specificate, usando InnerJoin come DbExpressionKind. |
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)
Crea un nuovo oggetto DbJoinExpression che unisce in join i set specificati dalle espressioni esterne e interne, in base a una condizione di uguaglianza tra le chiavi esterne e interne specificate, usando InnerJoin come 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
Parametri
- outer
- DbExpression
Oggetto DbExpression che specifica l'argomento del set esterno.
- inner
- DbExpression
Oggetto DbExpression che specifica l'argomento del set interno.
- outerKey
- Func<DbExpression,DbExpression>
Metodo che specifica come derivare il valore esterno della chiave da un elemento del set esterno.
- innerKey
- Func<DbExpression,DbExpression>
Metodo che specifica come derivare il valore interno della chiave da un elemento del set interno.
Restituisce
Nuovo oggetto DbJoinExpression, con un'enumerazione DbExpressionKind di InnerJoin, che rappresenta l'operazione di inner join applicata ai set di input a sinistra e a destra in una condizione di join che confronta i valori di chiave esterni e interni per verificarne l'uguaglianza.
Eccezioni
outer
, inner
, outerKey
o innerKey
è Null.
-oppure-
L'espressione generata da outerKey
o innerKey
è null.
outer
o inner
non ha un tipo di risultato della raccolta.
-oppure-
Le espressioni generate da outerKey
e innerKey
non possono essere confrontate per verificarne l'uguaglianza.
Si applica a
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)
Crea un nuovo oggetto DbProjectExpression che proietta il selettore indicato sui set specificati dalle espressioni esterne e interne, unite in join in una condizione di uguaglianza tra le chiavi esterne e interne specificate, usando InnerJoin come 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
Parametri di tipo
- TSelector
Tipo di selector
.
Parametri
- outer
- DbExpression
Oggetto DbExpression che specifica l'argomento del set esterno.
- inner
- DbExpression
Oggetto DbExpression che specifica l'argomento del set interno.
- outerKey
- Func<DbExpression,DbExpression>
Metodo che specifica come derivare il valore esterno della chiave da un elemento del set esterno.
- innerKey
- Func<DbExpression,DbExpression>
Metodo che specifica come derivare il valore interno della chiave da un elemento del set interno.
- selector
- Func<DbExpression,DbExpression,TSelector>
Metodo che specifica come derivare un elemento del set ottenuto da elementi di set interni ed esterni. Questo metodo deve generare un'istanza di un tipo che sia compatibile con Join e risolvibile in un oggetto DbExpression. I requisiti di compatibilità per TSelector
sono descritti nelle note.
Restituisce
Nuovo oggetto DbProjectExpression con il selettore specificato come proiezione e nuovo oggetto DbJoinExpression come input. L'oggetto di input DbJoinExpression viene creato con un DbExpressionKind di InnerJoin, che rappresenta l'operazione di inner join applicata ai set di input sinistri e destri in una condizione di join che confronta i valori di chiave esterni e interni per verificarne l'uguaglianza.
Eccezioni
outer
, inner
, outerKey
o innerKey
selector
è Null.
-oppure-
L'espressione generata da outerKey
o innerKey
è null.
-oppure-
Il risultato di selector
è null dopo la conversione in DbExpression.
outer
o inner
non ha un tipo di risultato della raccolta.
-oppure-
Le espressioni generate da outerKey
e innerKey
non possono essere confrontate per verificarne l'uguaglianza.
-oppure-
Il risultato di selector
non è compatibile con SelectMany.
Commenti
Per essere compatibile con Join, TSelector
deve essere derivato da DbExpressiono deve essere un tipo anonimo con proprietà derivate da DbExpression. Di seguito sono riportati esempi di tipi supportati per TSelector
:
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))
(TSelector
è DbPropertyExpression).
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })
(TSelector
è un tipo anonimo con proprietà derivate da DbExpression).