Bagikan melalui


DbExpressionBuilder.Join Metode

Definisi

Overload

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

Membuat baru DbJoinExpression yang menggabungkan set yang ditentukan oleh ekspresi luar dan dalam, pada kondisi kesetaraan antara kunci luar dan dalam yang ditentukan, menggunakan InnerJoin sebagai DbExpressionKind.

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

Membuat baru DbProjectExpression yang memproyeksikan pemilih yang ditentukan di atas set yang ditentukan oleh ekspresi luar dan dalam, digabungkan pada kondisi kesetaraan antara kunci luar dan dalam yang ditentukan, menggunakan InnerJoin sebagai DbExpressionKind.

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

Membuat baru DbJoinExpression yang menggabungkan set yang ditentukan oleh ekspresi luar dan dalam, pada kondisi kesetaraan antara kunci luar dan dalam yang ditentukan, menggunakan InnerJoin sebagai DbExpressionKind.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbJoinExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey);
public static System.Data.Common.CommandTrees.DbJoinExpression Join (this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey);
static member Join : System.Data.Common.CommandTrees.DbExpression * 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> -> System.Data.Common.CommandTrees.DbJoinExpression
<Extension()>
Public Function Join (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression)) As DbJoinExpression

Parameter

outer
DbExpression

Yang DbExpression menentukan argumen set luar.

inner
DbExpression

yang DbExpression menentukan argumen set dalam.

outerKey
Func<DbExpression,DbExpression>

Metode yang menentukan bagaimana nilai kunci luar harus berasal dari elemen set luar.

innerKey
Func<DbExpression,DbExpression>

Metode yang menentukan bagaimana nilai kunci dalam harus berasal dari elemen set dalam.

Mengembalikan

DbJoinExpression baru, dengan DbExpressionKind InnerJoin, yang mewakili operasi gabungan dalam yang diterapkan ke set input kiri dan kanan di bawah kondisi gabungan yang membandingkan nilai kunci luar dan dalam untuk kesetaraan.

Pengecualian

outer, inner, outerKey atau innerKey null.

-atau-

Ekspresi yang dihasilkan oleh outerKey atau innerKey null.

outer atau inner tidak memiliki tipe hasil koleksi.

-atau-

Ekspresi yang dihasilkan oleh outerKey dan innerKey tidak sebanding untuk kesetaraan.

Berlaku untuk

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

Membuat baru DbProjectExpression yang memproyeksikan pemilih yang ditentukan di atas set yang ditentukan oleh ekspresi luar dan dalam, digabungkan pada kondisi kesetaraan antara kunci luar dan dalam yang ditentukan, menggunakan InnerJoin sebagai DbExpressionKind.

public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression Join<TSelector> (this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member Join : System.Data.Common.CommandTrees.DbExpression * 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> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function Join(Of TSelector) (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

Jenis parameter

TSelector

Jenis selector.

Parameter

outer
DbExpression

Yang DbExpression menentukan argumen set luar.

inner
DbExpression

yang DbExpression menentukan argumen set dalam.

outerKey
Func<DbExpression,DbExpression>

Metode yang menentukan bagaimana nilai kunci luar harus berasal dari elemen set luar.

innerKey
Func<DbExpression,DbExpression>

Metode yang menentukan bagaimana nilai kunci dalam harus berasal dari elemen set dalam.

selector
Func<DbExpression,DbExpression,TSelector>

Metode yang menentukan bagaimana elemen dari kumpulan hasil harus berasal dari elemen set dalam dan luar. Metode ini harus menghasilkan instans jenis yang kompatibel dengan Gabung dan dapat diselesaikan menjadi DbExpression. Persyaratan kompatibilitas untuk TSelector dijelaskan dalam keterangan.

Mengembalikan

DbProjectExpression baru dengan pemilih yang ditentukan sebagai proyeksinya, dan DbJoinExpression baru sebagai inputnya. Input DbJoinExpression dibuat dengan DbExpressionKind InnerJoin, yang mewakili operasi gabungan dalam yang diterapkan ke set input kiri dan kanan di bawah kondisi gabungan yang membandingkan nilai kunci luar dan dalam untuk kesetaraan.

Pengecualian

outer, inner, outerKey, innerKey atau selector null.

-atau-

Ekspresi yang dihasilkan oleh outerKey atau innerKey null.

-atau-

Hasilnya selector null setelah konversi ke DbExpression.

outer atau inner tidak memiliki tipe hasil koleksi.

-atau-

Ekspresi yang dihasilkan oleh outerKey dan innerKey tidak sebanding untuk kesetaraan.

-atau-

Hasil tidak selector kompatibel dengan SelectMany.

Keterangan

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

outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))  

(TSelector adalah DbPropertyExpression).

outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })  

(TSelector adalah jenis anonim dengan properti turunan DbExpression).

Berlaku untuk