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
SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Tworzy nowy DbApplyExpression , który oblicza podane |
SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Tworzy nowy DbApplyExpression , który oblicza podane |
SelectMany(DbExpression, Func<DbExpression,DbExpression>)
Tworzy nowy DbApplyExpression , który oblicza podane apply
wyrażenie raz dla każdego elementu danego zestawu danych wejściowych, tworząc kolekcję wierszy z odpowiednimi danymi wejściowymi i zastosuj kolumny. Wiersze, dla których apply
wartość ocenia pustą zestaw, nie są uwzględniane. Zostanie DbProjectExpression utworzony element , który wybiera kolumnę apply
z każdego wiersza, tworzą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ę do oceny raz dla każdego elementu członkowskiego zestawu danych wejściowych.
Zwraca
Nowa kolumna DbProjectExpression, która wybiera kolumnę zastosuj z nowej kolumny DbApplyExpression z określonymi danymi wejściowymi i stosuje powiązania oraz DbExpressionKind crossApply.
Wyjątki
source
lub apply
ma wartość null.
-lub-
Wyrażenie wygenerowane przez apply
wartość ma wartość null.
source
nie ma typu wyników kolekcji.
-lub-
Wyrażenie wygenerowane przez apply
program nie ma typu kolekcji.
Dotyczy
SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>)
Tworzy nowy DbApplyExpression , który oblicza podane apply
wyrażenie raz dla każdego elementu danego zestawu danych wejściowych, tworząc kolekcję wierszy z odpowiednimi danymi wejściowymi i zastosuj kolumny. Wiersze, dla których apply
wartość ocenia pustą zestaw, nie są uwzględniane. Zostanie DbProjectExpression utworzony element , który wybiera określony selector
wiersz, 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 wyniku metody .selector
Parametry
- source
- DbExpression
Element DbExpression określający zestaw danych wejściowych.
- apply
- Func<DbExpression,DbExpression>
Metoda reprezentująca logikę do oceny 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 zestawów wejściowych i stosować zestawy. Ta metoda musi utworzyć wystąpienie typu zgodnego z elementem SelectMany i można go rozpoznać w obiekcie DbExpression. Wymagania dotyczące zgodności są TSelector
opisane w uwagach.
Zwraca
Nowy dbProjectExpression, który wybiera wynik danego selektora z nowej dbApplyExpression z określonymi danymi wejściowymi i stosuje powiązania i DbExpressionKind crossApply.
Wyjątki
source
lub apply
selector
ma wartość null.
-lub-
Wyrażenie wygenerowane przez apply
wartość ma wartość null.
-lub-
Wynik selector
jest zerowy podczas konwersji na DbExpression.
source
nie ma typu wyników kolekcji.
-lub-
Wyrażenie wygenerowane przez apply
program nie ma typu kolekcji. nie ma typu kolekcji.
Uwagi
Aby być zgodnym z 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 TSelector
programu :
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).