DbExpressionBuilder.Join Yöntem

Tanım

Aşırı Yüklemeler

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

Dış ve iç ifadeler tarafından belirtilen kümeleri, belirtilen dış ve iç anahtarlar arasında eşitlik koşulunda birleştiren yeni DbJoinExpression bir oluşturur ve innerJoin öğesini DbExpressionKindolarak kullanın.

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

Dış ve iç ifadeler tarafından belirtilen kümeler üzerinde belirtilen seçiciyi, belirtilen dış ve iç anahtarlar arasında eşitlik koşuluyla birleştirilen ve innerJoin olarak DbExpressionKindkullanan yeni DbProjectExpression bir oluşturur.

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

Dış ve iç ifadeler tarafından belirtilen kümeleri, belirtilen dış ve iç anahtarlar arasında eşitlik koşulunda birleştiren yeni DbJoinExpression bir oluşturur ve innerJoin öğesini DbExpressionKindolarak kullanın.

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

Parametreler

outer
DbExpression

DbExpression Dış küme bağımsız değişkenini belirten bir.

inner
DbExpression

DbExpression İç küme bağımsız değişkenini belirten bir.

outerKey
Func<DbExpression,DbExpression>

Dış anahtar değerinin dış kümenin bir öğesinden nasıl türetilmesi gerektiğini belirten bir yöntem.

innerKey
Func<DbExpression,DbExpression>

İç anahtar değerinin iç kümenin bir öğesinden nasıl türetilmesi gerektiğini belirten bir yöntem.

Döndürülenler

Eşitlik için dış ve iç anahtar değerlerini karşılaştıran birleştirme koşulu altında sol ve sağ giriş kümelerine uygulanan iç birleştirme işlemini temsil eden innerJoin ile yeni bir DbExpressionKind DbJoinExpression.

Özel durumlar

outerouterKey, innerveya innerKey null.

-veya-

veya innerKey tarafından outerKey üretilen ifade null.

outer veya inner koleksiyon sonuç türüne sahip değildir.

-veya-

ve tarafından outerKeyinnerKey üretilen ifadeler eşitlik için karşılaştırılamaz.

Şunlara uygulanır

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

Dış ve iç ifadeler tarafından belirtilen kümeler üzerinde belirtilen seçiciyi, belirtilen dış ve iç anahtarlar arasında eşitlik koşuluyla birleştirilen ve innerJoin olarak DbExpressionKindkullanan yeni DbProjectExpression bir oluşturur.

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

Tür Parametreleri

TSelector

türünün türü selector.

Parametreler

outer
DbExpression

DbExpression Dış küme bağımsız değişkenini belirten bir.

inner
DbExpression

DbExpression İç küme bağımsız değişkenini belirten bir.

outerKey
Func<DbExpression,DbExpression>

Dış anahtar değerinin dış kümenin bir öğesinden nasıl türetilmesi gerektiğini belirten bir yöntem.

innerKey
Func<DbExpression,DbExpression>

İç anahtar değerinin iç kümenin bir öğesinden nasıl türetilmesi gerektiğini belirten bir yöntem.

selector
Func<DbExpression,DbExpression,TSelector>

Sonuç kümesinin bir öğesinin iç ve dış kümelerin öğelerinden nasıl türetilmesi gerektiğini belirten bir yöntem. Bu yöntem, Join ile uyumlu olan ve içine çözümlenebilen DbExpressionbir türün örneğini üretmelidir. için TSelector uyumluluk gereksinimleri açıklamalarda açıklanmıştır.

Döndürülenler

Projeksiyonu olarak belirtilen seçiciye sahip yeni bir DbProjectExpression ve girişi olarak yeni bir DbJoinExpression. DbJoinExpression girişi, eşitlik için dış ve iç anahtar değerlerini karşılaştıran birleştirme koşulu altında sol ve sağ giriş kümelerine uygulanan iç birleştirme işlemini temsil eden innerJoin DbExpressionKind ile oluşturulur.

Özel durumlar

outer, inner, outerKeyveya innerKeyselector null.

-veya-

veya innerKey tarafından outerKey üretilen ifade null.

-veya-

selector Sonucu, DbExpression'a dönüştürüldikten sonra null değeridir.

outer veya inner koleksiyon sonuç türüne sahip değildir.

-veya-

tarafından outerKey üretilen ve innerKey ifadeleri eşitlik için karşılaştırılamaz.

-veya-

sonucu selector SelectMany ile uyumlu değil.

Açıklamalar

Join ile uyumlu olmak için, TSelector türünden DbExpressiontüretilmiş veya DbExpression türetilmiş özelliklere sahip anonim bir tür olmalıdır. Aşağıda için TSelectordesteklenen tür örnekleri verilmiştir:

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

(TSelector is DbPropertyExpression).

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

(TSelector DbExpression türetilmiş özelliklerine sahip anonim bir türdür).

Şunlara uygulanır