Queryable.LeftJoin Yöntem

Tanım

Aşırı Yüklemeler

Name Description
LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>)

eşleşen anahtarlara göre iki dizinin öğelerini ilişkilendirir. Belirtilen IEqualityComparer<T> , anahtarları karşılaştırmak için kullanılır.

LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>)

eşleşen anahtarlara göre iki dizinin öğelerini ilişkilendirir. Anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısı kullanılır.

LeftJoin<TOuter,TInner,TKey>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, IEqualityComparer<TKey>)

LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>)

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

eşleşen anahtarlara göre iki dizinin öğelerini ilişkilendirir. Belirtilen IEqualityComparer<T> , anahtarları karşılaştırmak için kullanılır.

public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TResult> ^ LeftJoin(System::Linq::IQueryable<TOuter> ^ outer, System::Collections::Generic::IEnumerable<TInner> ^ inner, System::Linq::Expressions::Expression<Func<TOuter, TKey> ^> ^ outerKeySelector, System::Linq::Expressions::Expression<Func<TInner, TKey> ^> ^ innerKeySelector, System::Linq::Expressions::Expression<Func<TOuter, TInner, TResult> ^> ^ resultSelector, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public static System.Linq.IQueryable<TResult> LeftJoin<TOuter,TInner,TKey,TResult>(this System.Linq.IQueryable<TOuter> outer, System.Collections.Generic.IEnumerable<TInner> inner, System.Linq.Expressions.Expression<Func<TOuter,TKey>> outerKeySelector, System.Linq.Expressions.Expression<Func<TInner,TKey>> innerKeySelector, System.Linq.Expressions.Expression<Func<TOuter,TInner?,TResult>> resultSelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
static member LeftJoin : System.Linq.IQueryable<'Outer> * seq<'Inner> * System.Linq.Expressions.Expression<Func<'Outer, 'Key>> * System.Linq.Expressions.Expression<Func<'Inner, 'Key>> * System.Linq.Expressions.Expression<Func<'Outer, 'Inner, 'Result>> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function LeftJoin(Of TOuter, TInner, TKey, TResult) (outer As IQueryable(Of TOuter), inner As IEnumerable(Of TInner), outerKeySelector As Expression(Of Func(Of TOuter, TKey)), innerKeySelector As Expression(Of Func(Of TInner, TKey)), resultSelector As Expression(Of Func(Of TOuter, TInner, TResult)), comparer As IEqualityComparer(Of TKey)) As IQueryable(Of TResult)

Tür Parametreleri

TOuter

İlk dizinin öğelerinin türü.

TInner

İkinci dizinin öğelerinin türü.

TKey

Anahtar seçici işlevleri tarafından döndürülen anahtarların türü.

TResult

Sonuç öğelerinin türü.

Parametreler

outer
IQueryable<TOuter>

Birleştirecek ilk sıra.

inner
IEnumerable<TInner>

İlk diziye katılma sırası.

outerKeySelector
Expression<Func<TOuter,TKey>>

İlk dizinin her öğesinden birleştirme anahtarını ayıklamak için bir işlev.

innerKeySelector
Expression<Func<TInner,TKey>>

İkinci dizinin her öğesinden birleştirme anahtarını ayıklamak için bir işlev.

resultSelector
Expression<Func<TOuter,TInner,TResult>>

eşleşen iki öğeden sonuç öğesi oluşturmak için bir işlev.

comparer
IEqualityComparer<TKey>

Anahtarları karma ve karşılaştırmaya yönelik bir IEqualityComparer<T>.

Döndürülenler

IQueryable<TResult>

IEnumerable<T> İki dizide sol dış birleşim gerçekleştirilerek elde edilen tür TResult öğelerine sahip olan.

Özel durumlar

outer veya inner veya outerKeySelector veya innerKeySelector veya resultSelector şeklindedir null.

Açıklamalar

Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir.

Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.

yöntemi, LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) bir oluşturur.

Ardından parametresinin özelliği tarafından MethodCallExpression temsil edilen yöntemine CreateQuery<TElement>(Expression)IQueryProvider iletirProvider.outer

Çağrıyı LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına outer bağlıdır.

Beklenen davranış, sol dış birleşimdir.

outerKeySelector ve innerKeySelector işlevleri sırasıyla outer ve inneranahtar ayıklamak için kullanılır.

Bu anahtarlar, her diziden öğeleri eşleştirmek için eşitlik için karşılaştırılır.

içindeki bir öğeyle eşleşen her öğe inner için bir öğe çifti ve içinde outereşleşmesi innerolmayan her öğe outer için bir çift depolanır.

resultSelector Ardından işlev, her öğe çiftinden bir sonuç nesnesi yansıtmak için çağrılır.

Şunlara uygulanır

LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>)

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

eşleşen anahtarlara göre iki dizinin öğelerini ilişkilendirir. Anahtarları karşılaştırmak için varsayılan eşitlik karşılaştırıcısı kullanılır.

public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TResult> ^ LeftJoin(System::Linq::IQueryable<TOuter> ^ outer, System::Collections::Generic::IEnumerable<TInner> ^ inner, System::Linq::Expressions::Expression<Func<TOuter, TKey> ^> ^ outerKeySelector, System::Linq::Expressions::Expression<Func<TInner, TKey> ^> ^ innerKeySelector, System::Linq::Expressions::Expression<Func<TOuter, TInner, TResult> ^> ^ resultSelector);
public static System.Linq.IQueryable<TResult> LeftJoin<TOuter,TInner,TKey,TResult>(this System.Linq.IQueryable<TOuter> outer, System.Collections.Generic.IEnumerable<TInner> inner, System.Linq.Expressions.Expression<Func<TOuter,TKey>> outerKeySelector, System.Linq.Expressions.Expression<Func<TInner,TKey>> innerKeySelector, System.Linq.Expressions.Expression<Func<TOuter,TInner?,TResult>> resultSelector);
static member LeftJoin : System.Linq.IQueryable<'Outer> * seq<'Inner> * System.Linq.Expressions.Expression<Func<'Outer, 'Key>> * System.Linq.Expressions.Expression<Func<'Inner, 'Key>> * System.Linq.Expressions.Expression<Func<'Outer, 'Inner, 'Result>> -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function LeftJoin(Of TOuter, TInner, TKey, TResult) (outer As IQueryable(Of TOuter), inner As IEnumerable(Of TInner), outerKeySelector As Expression(Of Func(Of TOuter, TKey)), innerKeySelector As Expression(Of Func(Of TInner, TKey)), resultSelector As Expression(Of Func(Of TOuter, TInner, TResult))) As IQueryable(Of TResult)

Tür Parametreleri

TOuter

İlk dizinin öğelerinin türü.

TInner

İkinci dizinin öğelerinin türü.

TKey

Anahtar seçici işlevleri tarafından döndürülen anahtarların türü.

TResult

Sonuç öğelerinin türü.

Parametreler

outer
IQueryable<TOuter>

Birleştirecek ilk sıra.

inner
IEnumerable<TInner>

İlk diziye katılma sırası.

outerKeySelector
Expression<Func<TOuter,TKey>>

İlk dizinin her öğesinden birleştirme anahtarını ayıklamak için bir işlev.

innerKeySelector
Expression<Func<TInner,TKey>>

İkinci dizinin her öğesinden birleştirme anahtarını ayıklamak için bir işlev.

resultSelector
Expression<Func<TOuter,TInner,TResult>>

eşleşen iki öğeden sonuç öğesi oluşturmak için bir işlev.

Döndürülenler

IQueryable<TResult>

IEnumerable<T> İki dizide sol dış birleşim gerçekleştirilerek elde edilen tür TResult öğelerine sahip olan.

Özel durumlar

outer veya inner veya outerKeySelector veya innerKeySelector veya resultSelector şeklindedir null.

Açıklamalar

Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir.

Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.

yöntemi, LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) bir oluşturur.

Ardından parametresinin özelliği tarafından MethodCallExpression temsil edilen yöntemine CreateQuery<TElement>(Expression)IQueryProvider iletirProvider.outer

Çağrıyı LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına outer bağlıdır.

Beklenen davranış, sol dış birleşimdir.

outerKeySelector ve innerKeySelector işlevleri sırasıyla outer ve inneranahtar ayıklamak için kullanılır.

Bu anahtarlar, her diziden öğeleri eşleştirmek için eşitlik için karşılaştırılır.

içindeki bir öğeyle eşleşen her öğe inner için bir öğe çifti ve içinde outereşleşmesi innerolmayan her öğe outer için bir çift depolanır.

resultSelector Ardından işlev, her öğe çiftinden bir sonuç nesnesi yansıtmak için çağrılır.

Şunlara uygulanır

LeftJoin<TOuter,TInner,TKey>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, IEqualityComparer<TKey>)

Kaynak:
Queryable.cs
public static System.Linq.IQueryable<(TOuter Outer, TInner? Inner)> LeftJoin<TOuter,TInner,TKey>(this System.Linq.IQueryable<TOuter> outer, System.Collections.Generic.IEnumerable<TInner> inner, System.Linq.Expressions.Expression<Func<TOuter,TKey>> outerKeySelector, System.Linq.Expressions.Expression<Func<TInner,TKey>> innerKeySelector, System.Collections.Generic.IEqualityComparer<TKey>? comparer = default);
static member LeftJoin : System.Linq.IQueryable<'Outer> * seq<'Inner> * System.Linq.Expressions.Expression<Func<'Outer, 'Key>> * System.Linq.Expressions.Expression<Func<'Inner, 'Key>> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.IQueryable<ValueTuple<'Outer, 'Inner>>
<Extension()>
Public Function LeftJoin(Of TOuter, TInner, TKey) (outer As IQueryable(Of TOuter), inner As IEnumerable(Of TInner), outerKeySelector As Expression(Of Func(Of TOuter, TKey)), innerKeySelector As Expression(Of Func(Of TInner, TKey)), Optional comparer As IEqualityComparer(Of TKey) = Nothing) As IQueryable(Of ValueTuple(Of TOuter, TInner))

Tür Parametreleri

TOuter
TInner
TKey

Parametreler

outer
IQueryable<TOuter>
inner
IEnumerable<TInner>
outerKeySelector
Expression<Func<TOuter,TKey>>
innerKeySelector
Expression<Func<TInner,TKey>>
comparer
IEqualityComparer<TKey>

Döndürülenler

IQueryable<ValueTuple<TOuter,TInner>>

Şunlara uygulanır