DbExpressionBuilder.SelectMany Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Tworzy nowy DbApplyExpression element, który oblicza dane |
| SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Tworzy nowy DbApplyExpression element, który oblicza dane |
SelectMany(DbExpression, Func<DbExpression,DbExpression>)
Tworzy nowy DbApplyExpression element, który oblicza dane apply wyrażenie raz dla każdego elementu danego zestawu danych wejściowych, tworząc kolekcję wierszy z odpowiednimi danymi wejściowymi i stosując kolumny. Wiersze, dla których apply wynikiem jest pusty zestaw, nie są uwzględniane. Zostanie DbProjectExpression utworzony obiekt , który wybiera kolumnę apply z każdego wiersza, generując ogólną kolekcję apply wyników.
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
Parametry
- source
- DbExpression
Element DbExpression określający zestaw danych wejściowych.
- apply
- Func<DbExpression,DbExpression>
Metoda reprezentująca logikę, która ma być oceniana raz dla każdego elementu członkowskiego zestawu danych wejściowych.
Zwraca
Nowa kolumna DbProjectExpression, która wybiera kolumnę apply z nowej bazy danych DbApplyExpression z określonymi danymi wejściowymi i stosuje powiązania i DbExpressionKind crossApply.
Wyjątki
source lub apply ma wartość null.
— lub —
Wyrażenie wygenerowane przez apply element ma wartość null.
source nie ma typu wyników kolekcji.
— lub —
Wyrażenie utworzone przez apply program nie ma typu kolekcji.
Dotyczy
SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>)
Tworzy nowy DbApplyExpression element, który oblicza dane apply wyrażenie raz dla każdego elementu danego zestawu danych wejściowych, tworząc kolekcję wierszy z odpowiednimi danymi wejściowymi i stosując kolumny. Wiersze, dla których apply wynikiem jest pusty zestaw, nie są uwzględniane. Następnie DbProjectExpression tworzony jest element , który wybiera określony selector w każdym wierszu, generując ogólną kolekcję wyników.
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
Parametry typu
- TSelector
Typ selectorwyniku metody .
Parametry
- source
- DbExpression
Element DbExpression określający zestaw danych wejściowych.
- apply
- Func<DbExpression,DbExpression>
Metoda reprezentująca logikę, która ma być oceniana raz dla każdego elementu członkowskiego zestawu danych wejściowych.
- selector
- Func<DbExpression,DbExpression,TSelector>
Metoda określająca, w jaki sposób element zestawu wyników powinien pochodzić, biorąc pod uwagę element zestawu danych wejściowych i zastosuj zestawy. Ta metoda musi utworzyć wystąpienie typu zgodnego z typem SelectMany i można je rozpoznać w obiekcie DbExpression. Wymagania dotyczące zgodności dla TSelector programu opisano w uwagach.
Zwraca
Nowy dbProjectExpression, który wybiera wynik danego selektora z nowej dbApplyExpression z określonym wejściem i stosuje powiązania i DbExpressionKind crossApply.
Wyjątki
source, apply lub selector ma wartość null.
— lub —
Wyrażenie wygenerowane przez apply element ma wartość null.
— lub —
Wynik parametru selector ma wartość null dla konwersji na DbExpression.
source nie ma typu wyników kolekcji.
— lub —
Wyrażenie utworzone przez apply program nie ma typu kolekcji. nie ma typu kolekcji.
Uwagi
Aby być zgodnym z elementem SelectMany, TSelector musi pochodzić z DbExpressionklasy lub musi być typem anonimowym z właściwościami pochodnymi DbExpression. Poniżej przedstawiono przykłady obsługiwanych typów dla programu TSelector:
source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => apply.Property("Name"))
(TSelector to DbPropertyExpression).
source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => new { SourceName = source.Property("Name"), RelatedName = apply.Property("Name") })
(TSelector jest typem anonimowym z właściwościami pochodnymi DbExpression).