DbExpressionBuilder.SelectMany Metódus

Definíció

Túlterhelések

Name Description
SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Létrehoz egy újat DbApplyExpression , amely egy adott bemeneti készlet minden eleméhez egyszer kiértékeli az adott apply kifejezést, létrehoz egy sorgyűjteményt a megfelelő bemenettel, és oszlopokat alkalmaz. Azok a sorok, amelyek apply kiértékelése üres készletre történik, nem szerepelnek benne. Ezután létrejön az A DbProjectExpression , amely kiválasztja az oszlopot az apply egyes sorokból, és létrehozza az eredmények teljes gyűjteményét apply .

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

Létrehoz egy újat DbApplyExpression , amely egy adott bemeneti készlet minden eleméhez egyszer kiértékeli az adott apply kifejezést, létrehoz egy sorgyűjteményt a megfelelő bemenettel, és oszlopokat alkalmaz. Azok a sorok, amelyek apply kiértékelése üres készletre történik, nem szerepelnek benne. Ezután DbProjectExpression létrejön egy, amely kiválasztja a megadott selector értéket az egyes sorokban, és létrehozza az eredmények teljes gyűjteményét.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Létrehoz egy újat DbApplyExpression , amely egy adott bemeneti készlet minden eleméhez egyszer kiértékeli az adott apply kifejezést, létrehoz egy sorgyűjteményt a megfelelő bemenettel, és oszlopokat alkalmaz. Azok a sorok, amelyek apply kiértékelése üres készletre történik, nem szerepelnek benne. Ezután létrejön az A DbProjectExpression , amely kiválasztja az oszlopot az apply egyes sorokból, és létrehozza az eredmények teljes gyűjteményét apply .

public:
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ SelectMany(System::Data::Common::CommandTrees::DbExpression ^ source, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ apply);
public static System.Data.Common.CommandTrees.DbProjectExpression SelectMany(this System.Data.Common.CommandTrees.DbExpression source, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> apply);
static member SelectMany : System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> -> System.Data.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function SelectMany (source As DbExpression, apply As Func(Of DbExpression, DbExpression)) As DbProjectExpression

Paraméterek

source
DbExpression

A DbExpression bemeneti készletet meghatározó érték.

apply
Func<DbExpression,DbExpression>

Egy metódus, amely a bemeneti készlet minden egyes tagjára vonatkozóan egyszer kiértékelendő logikát jelöli.

Válaszok

Egy új DbProjectExpression, amely kiválasztja az alkalmazás oszlopot egy új DbApplyExpressionból a megadott bemenettel, és kötéseket és crossApply-kötéseket DbExpressionKind alkalmaz.

Kivételek

source vagy apply null értékű.

-vagy-

Az általa apply létrehozott kifejezés null értékű.

source nem rendelkezik gyűjteményeredmény-típussal.

-vagy-

A létrehozott apply kifejezés nem rendelkezik gyűjteménytípussal.

A következőre érvényes:

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

Létrehoz egy újat DbApplyExpression , amely egy adott bemeneti készlet minden eleméhez egyszer kiértékeli az adott apply kifejezést, létrehoz egy sorgyűjteményt a megfelelő bemenettel, és oszlopokat alkalmaz. Azok a sorok, amelyek apply kiértékelése üres készletre történik, nem szerepelnek benne. Ezután DbProjectExpression létrejön egy, amely kiválasztja a megadott selector értéket az egyes sorokban, és létrehozza az eredmények teljes gyűjteményét.

public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ SelectMany(System::Data::Common::CommandTrees::DbExpression ^ source, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ apply, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression SelectMany<TSelector>(this System.Data.Common.CommandTrees.DbExpression source, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> apply, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member SelectMany : 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 SelectMany(Of TSelector) (source As DbExpression, apply As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

Típusparaméterek

TSelector

A metódus eredménytípusa selector.

Paraméterek

source
DbExpression

A DbExpression bemeneti készletet meghatározó érték.

apply
Func<DbExpression,DbExpression>

Egy metódus, amely a bemeneti készlet minden egyes tagjára vonatkozóan egyszer kiértékelendő logikát jelöli.

selector
Func<DbExpression,DbExpression,TSelector>

Egy metódus, amely meghatározza, hogy az eredményhalmaz egy elemét hogyan kell származtatni a bemenet egy elemével, és hogyan alkalmazza a halmazokat. Ennek a metódusnak olyan típusú példányt kell létrehoznia, amely kompatibilis a SelectManyval, és feloldható egy DbExpression. A kompatibilitási TSelector követelményeket a megjegyzések ismertetik.

Válaszok

Egy új DbProjectExpression, amely kiválasztja az adott választó eredményét egy új DbApplyExpressionból a megadott bemenettel, és kötéseket és egy DbExpressionKind CrossApply-et alkalmaz.

Kivételek

source, apply vagy selector null értékű.

-vagy-

Az általa apply létrehozott kifejezés null értékű.

-vagy-

Az eredmény selector null értékű a DbExpression-ra való átalakítás során.

source nem rendelkezik gyűjteményeredmény-típussal.

-vagy-

A létrehozott apply kifejezés nem rendelkezik gyűjteménytípussal. nem rendelkezik gyűjteménytípussal.

Megjegyzések

Ahhoz, hogy kompatibilis legyen a SelectManyvel, TSelector a DbExpression által származtatott tulajdonságokkal rendelkező névtelen típusból DbExpressionkell származnia, vagy névtelen típusnak kell lennie. Az alábbiakban példákat láthat a támogatott típusokra: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 egy névtelen típus dbExpression-származtatott tulajdonságokkal).

A következőre érvényes: