DbExpressionBuilder.Join Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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).