Bagikan melalui


DbExpressionBuilder.SelectMany Metode

Definisi

Overload

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Membuat baru DbApplyExpression yang mengevaluasi ekspresi yang diberikan apply sekali untuk setiap elemen dari set input tertentu, menghasilkan kumpulan baris dengan input yang sesuai dan menerapkan kolom. Baris yang apply dievaluasi ke set kosong tidak disertakan. DbProjectExpression kemudian dibuat yang memilih apply kolom dari setiap baris, menghasilkan kumpulan apply hasil secara keseluruhan.

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

Membuat baru DbApplyExpression yang mengevaluasi ekspresi yang diberikan apply sekali untuk setiap elemen dari set input tertentu, menghasilkan kumpulan baris dengan input yang sesuai dan menerapkan kolom. Baris yang apply dievaluasi ke set kosong tidak disertakan. DbProjectExpression kemudian dibuat yang memilih yang ditentukan selector di setiap baris, menghasilkan kumpulan hasil secara keseluruhan.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Membuat baru DbApplyExpression yang mengevaluasi ekspresi yang diberikan apply sekali untuk setiap elemen dari set input tertentu, menghasilkan kumpulan baris dengan input yang sesuai dan menerapkan kolom. Baris yang apply dievaluasi ke set kosong tidak disertakan. DbProjectExpression kemudian dibuat yang memilih apply kolom dari setiap baris, menghasilkan kumpulan apply hasil secara keseluruhan.

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

Parameter

source
DbExpression

DbExpression yang menentukan set input.

apply
Func<DbExpression,DbExpression>

Metode yang mewakili logika untuk mengevaluasi sekali untuk setiap anggota set input.

Mengembalikan

DbProjectExpression baru yang memilih kolom terapkan dari DbApplyExpression baru dengan input yang ditentukan dan menerapkan pengikatan dan DbExpressionKind CrossApply.

Pengecualian

source atau apply adalah null.

-atau-

Ekspresi yang dihasilkan oleh apply null.

source tidak memiliki tipe hasil koleksi.

-atau-

Ekspresi yang dihasilkan oleh apply tidak memiliki jenis koleksi.

Berlaku untuk

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

Membuat baru DbApplyExpression yang mengevaluasi ekspresi yang diberikan apply sekali untuk setiap elemen dari set input tertentu, menghasilkan kumpulan baris dengan input yang sesuai dan menerapkan kolom. Baris yang apply dievaluasi ke set kosong tidak disertakan. DbProjectExpression kemudian dibuat yang memilih yang ditentukan selector di setiap baris, menghasilkan kumpulan hasil secara keseluruhan.

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

Jenis parameter

TSelector

Jenis hasil metode dari selector.

Parameter

source
DbExpression

DbExpression yang menentukan set input.

apply
Func<DbExpression,DbExpression>

Metode yang mewakili logika untuk mengevaluasi sekali untuk setiap anggota set input.

selector
Func<DbExpression,DbExpression,TSelector>

Metode yang menentukan bagaimana elemen kumpulan hasil harus diturunkan mengingat elemen input dan menerapkan set. Metode ini harus menghasilkan instans jenis yang kompatibel dengan SelectMany dan dapat diselesaikan menjadi DbExpression. Persyaratan kompatibilitas untuk TSelector dijelaskan dalam keterangan.

Mengembalikan

DbProjectExpression baru yang memilih hasil pemilih yang diberikan dari DbApplyExpression baru dengan input yang ditentukan dan menerapkan pengikatan dan DbExpressionKind CrossApply.

Pengecualian

source, apply atau selector null.

-atau-

Ekspresi yang dihasilkan oleh apply null.

-atau-

Hasilnya selector adalah null pada konversi ke DbExpression.

source tidak memiliki tipe hasil koleksi.

-atau-

Ekspresi yang dihasilkan oleh apply tidak memiliki jenis koleksi. tidak memiliki tipe koleksi.

Keterangan

Agar kompatibel dengan SelectMany, TSelector harus berasal dari DbExpression, atau harus merupakan jenis anonim dengan properti turunan DbExpression. Berikut ini adalah contoh jenis yang didukung untuk TSelector:

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

(TSelector adalah DbPropertyExpression).

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

(TSelector adalah jenis anonim dengan properti turunan DbExpression).

Berlaku untuk