DbExpressionBuilder.SelectMany Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Skapar en ny DbApplyExpression som utvärderar det angivna |
| SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Skapar en ny DbApplyExpression som utvärderar det angivna |
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 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).