DbExpressionBuilder.SelectMany Metod

Definition

Överlagringar

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

Skapar en ny DbApplyExpression som utvärderar det angivna apply uttrycket en gång för varje element i en viss indatauppsättning, vilket skapar en samling rader med motsvarande indata och tillämpar kolumner. Rader som apply utvärderas till en tom uppsättning ingår inte. En DbProjectExpression skapas sedan som väljer apply kolumnen från varje rad, vilket ger den övergripande samlingen med apply resultat.

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

Skapar en ny DbApplyExpression som utvärderar det angivna apply uttrycket en gång för varje element i en viss indatauppsättning, vilket skapar en samling rader med motsvarande indata och tillämpar kolumner. Rader som apply utvärderas till en tom uppsättning ingår inte. En DbProjectExpression skapas sedan som väljer den angivna selector över varje rad, vilket ger den övergripande samlingen med resultat.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Skapar en ny DbApplyExpression som utvärderar det angivna apply uttrycket en gång för varje element i en viss indatauppsättning, vilket skapar en samling rader med motsvarande indata och tillämpar kolumner. Rader som apply utvärderas till en tom uppsättning ingår inte. En DbProjectExpression skapas sedan som väljer apply kolumnen från varje rad, vilket ger den övergripande samlingen med apply resultat.

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

Parametrar

source
DbExpression

En DbExpression som anger indatauppsättningen.

apply
Func<DbExpression,DbExpression>

En metod som representerar logiken som ska utvärderas en gång för varje medlem i indatauppsättningen.

Returer

En ny DbProjectExpression som väljer kolumnen apply från en ny DbApplyExpression med angivna indata och tillämpar bindningar och en DbExpressionKind av CrossApply.

Undantag

source eller apply är null.

-eller-

Uttrycket som skapas av apply är null.

source inte har någon samlingsresultattyp.

-eller-

Uttrycket som skapas av har ingen samlingstyp apply .

Gäller för

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

Skapar en ny DbApplyExpression som utvärderar det angivna apply uttrycket en gång för varje element i en viss indatauppsättning, vilket skapar en samling rader med motsvarande indata och tillämpar kolumner. Rader som apply utvärderas till en tom uppsättning ingår inte. En DbProjectExpression skapas sedan som väljer den angivna selector över varje rad, vilket ger den övergripande samlingen med resultat.

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

Typparametrar

TSelector

Metodresultattypen för selector.

Parametrar

source
DbExpression

En DbExpression som anger indatauppsättningen.

apply
Func<DbExpression,DbExpression>

En metod som representerar logiken som ska utvärderas en gång för varje medlem i indatauppsättningen.

selector
Func<DbExpression,DbExpression,TSelector>

En metod som anger hur ett element i resultatuppsättningen ska härledas med ett element i indata- och tillämpningsuppsättningarna. Den här metoden måste skapa en instans av en typ som är kompatibel med SelectMany och kan matchas till en DbExpression. Kompatibilitetskrav för TSelector beskrivs i kommentarer.

Returer

En ny DbProjectExpression som väljer resultatet av den angivna väljaren från en ny DbApplyExpression med angivna indata och tillämpar bindningar och en DbExpressionKind av CrossApply.

Undantag

source, apply eller selector är null.

-eller-

Uttrycket som skapas av apply är null.

-eller-

Resultatet av selector är null vid konvertering till DbExpression.

source inte har någon samlingsresultattyp.

-eller-

Uttrycket som skapas av har ingen samlingstyp apply . har ingen samlingstyp.

Kommentarer

För att vara kompatibel med SelectMany TSelector måste härledas från DbExpression, eller vara en anonym typ med DbExpression-härledda egenskaper. Följande är exempel på typer som stöds för TSelector:

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

(TSelector är DbPropertyExpression).

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

(TSelector är en anonym typ med DbExpression-härledda egenskaper).

Gäller för