DbExpressionBuilder.Join Metodo

Definizione

Overload

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

Crea un nuovo DbJoinExpression oggetto che unisce i set specificati dalle espressioni esterne e interne, in 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 DbProjectExpression oggetto che proietta il selettore specificato sui set specificati dalle espressioni esterne e interne, unito a 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 DbJoinExpression oggetto che unisce i set specificati dalle espressioni esterne e interne, in 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 il modo in cui il valore della chiave esterna deve essere derivato da un elemento del set esterno.

innerKey
Func<DbExpression,DbExpression>

Metodo che specifica la modalità di derivazione del valore della chiave interna da un elemento del set interno.

Valori restituiti

Nuovo DbJoinExpression, con un DbExpressionKind di InnerJoin, che rappresenta l'operazione di inner join applicata ai set di input sinistro e destro in una condizione di join che confronta i valori di chiave esterna e interna per verificarne l'uguaglianza.

Eccezioni

outer, innerouterKey o innerKey è null.

oppure

L'espressione prodotta da outerKey o innerKey è null.

outer o inner non dispone di un tipo di risultato della raccolta.

oppure

Le espressioni prodotte da outerKey e innerKey non sono confrontabili per l'uguaglianza.

Si applica a

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

Crea un nuovo DbProjectExpression oggetto che proietta il selettore specificato sui set specificati dalle espressioni esterne e interne, unito a 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 il modo in cui il valore della chiave esterna deve essere derivato da un elemento del set esterno.

innerKey
Func<DbExpression,DbExpression>

Metodo che specifica la modalità di derivazione del valore della chiave interna da un elemento del set interno.

selector
Func<DbExpression,DbExpression,TSelector>

Metodo che specifica il modo in cui un elemento del set di risultati deve essere derivato dagli elementi dei set interni ed esterni. Questo metodo deve produrre un'istanza di un tipo compatibile con Join e può essere risolta in un oggetto DbExpression. I requisiti di compatibilità per TSelector sono descritti nelle note.

Valori restituiti

Nuovo DbProjectExpression con il selettore specificato come proiezione e un nuovo DbJoinExpression come input. L'input DbJoinExpression viene creato con un DbExpressionKind di InnerJoin, che rappresenta l'operazione di inner join applicata ai set di input sinistro e destro in una condizione di join che confronta i valori della chiave esterna e interna per verificarne l'uguaglianza.

Eccezioni

outer outerKey, inner, innerKey o selector è Null.

oppure

L'espressione prodotta da outerKey o innerKey è null.

oppure

Il risultato di selector è Null dopo la conversione in DbExpression.

outer o inner non dispone di un tipo di risultato della raccolta.

oppure

Le espressioni prodotte da outerKey e innerKey non sono confrontabili per 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).

Si applica a