Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DbExpressionBuilder.SelectMany<TSelector>(DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression, DbExpression, TSelector>)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Crea un nuovo DbApplyExpression che restituisce il dato apply espressione una sola volta per ogni elemento di un determinato input impostato, producendo un insieme di righe con input corrispondente e applicazione delle colonne. Righe per le quali apply restituisce un set vuoto non vengono inclusi. Oggetto DbProjectExpression viene quindi creato l'oggetto specificato che seleziona selector in ogni riga, producendo l'insieme complessivo di risultati.

Spazio dei nomi:   System.Data.Common.CommandTrees.ExpressionBuilder
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

public static DbProjectExpression SelectMany<TSelector>(
	this DbExpression source,
	Func<DbExpression, DbExpression> apply,
	Func<DbExpression, DbExpression, TSelector> selector
)

Parametri

source
Type: System.Data.Common.CommandTrees.DbExpression

Oggetto DbExpression che specifica il set di input.

apply
Type: System.Func<DbExpression, DbExpression>

Un metodo che rappresenta la logica per valutare una volta per ogni membro del set di input.

selector
Type: System.Func<DbExpression, DbExpression, TSelector>

Un metodo che specifica come imposta un elemento del risultato devono essere derivati base di un elemento di input e applicare insiemi. Questo metodo deve produrre un'istanza di un tipo compatibile con SelectMany e può essere risolto in un DbExpression. I requisiti di compatibilità per TSelector sono descritti nelle note.

Valore restituito

Type: System.Data.Common.CommandTrees.DbProjectExpression

Un nuovo oggetto DbProjectExpression che seleziona il risultato di selettori specificato da un nuovo DbApplyExpression con l'input specificato e applicare binding e un DbExpressionKind di CrossApply.

Parametri tipo

TSelector

Tipo di risultato del metodo selector.

Exception Condition
ArgumentNullException

source, apply o selector è null.

ArgumentNullException

L'espressione prodotta da apply è null.

ArgumentNullException

Il risultato di selector è null per la conversione a DbExpression.

ArgumentException

source non dispone di un tipo di risultato insieme.

ArgumentException

L'espressione prodotta da apply non dispone di un tipo di raccolta. non dispone di un tipo di raccolta.

Per essere compatibile con SelectMany, TSelector deve essere derivato da DbExpression, oppure deve essere un tipo anonimo con proprietà derivate da DbExpression. Di seguito sono riportati esempi di tipi supportati per TSelector:

source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => apply.Property("Name"))

(TSelector is DbPropertyExpression).

source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => new { SourceName = source.Property("Name"), RelatedName = apply.Property("Name") })

(TSelector è un tipo anonimo con proprietà derivate da DbExpression).

.NET Framework
Disponibile da 4.5
Torna all'inizio
Mostra: