Queryable.LeftJoin Metódus

Definíció

Túlterhelések

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>)

Két sorozat elemeit korrelálja egyező kulcsok alapján. A megadott IEqualityComparer<T> érték a kulcsok összehasonlítására szolgál.

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

Két sorozat elemeit korrelálja egyező kulcsok alapján. Az alapértelmezett egyenlőség-összehasonlító a kulcsok összehasonlítására szolgál.

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>)

Forrás:
Queryable.cs
Forrás:
Queryable.cs

Két sorozat elemeit korrelálja egyező kulcsok alapján. A megadott IEqualityComparer<T> érték a kulcsok összehasonlítására szolgál.

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ípusparaméterek

TOuter

Az első sorozat elemeinek típusa.

TInner

A második sorozat elemeinek típusa.

TKey

A kulcsválasztó függvények által visszaadott kulcsok típusa.

TResult

Az eredményelemek típusa.

Paraméterek

outer
IQueryable<TOuter>

Az első illesztendő sorozat.

inner
IEnumerable<TInner>

Az első sorozathoz illesztendő sorozat.

outerKeySelector
Expression<Func<TOuter,TKey>>

Egy függvény, amely kinyeri az illesztőkulcsot az első sorozat minden eleméből.

innerKeySelector
Expression<Func<TInner,TKey>>

Egy függvény, amely kinyeri az illesztőkulcsot a második sorozat minden eleméből.

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

Egy függvény, amely két egyező elemből hoz létre eredményelemet.

comparer
IEqualityComparer<TKey>

Egy IEqualityComparer<T> kivonat, és hasonlítsa össze a kulcsokat.

Válaszok

IQueryable<TResult>

Olyan IEnumerable<T> elem, amely két szekvencián bal oldali külső illesztés végrehajtásával kapott típuselemekkel TResult rendelkezik.

Kivételek

outervagy inner vagy outerKeySelectorinnerKeySelectorresultSelector az.null

Megjegyzések

Ez a metódus legalább egy típusparamétert Expression<TDelegate> használ, amelynek típusargumentuma az Func<T,TResult> egyik típus.

Ezekhez a paraméterekhez átadhat egy lambda kifejezést, és az Expression<TDelegate>egy .

A LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) metódus létrehoz egy olyan metódust MethodCallExpression , amely önmagát generált általános metódusként jeleníti LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) meg.

Ezután átadja a MethodCallExpression paraméter tulajdonsága által CreateQuery<TElement>(Expression) képviselt metódusnak IQueryProviderProvider.outer

A meghívást LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) jelképező kifejezésfa végrehajtása során előforduló lekérdezési viselkedés a paraméter típusának outer implementálásától függ.

A várt viselkedés a bal oldali külső illesztés.

A outerKeySelector függvények és innerKeySelector a függvények a kulcsok outerinner kinyerésére szolgálnak.

Ezeket a kulcsokat a rendszer összehasonlítja az egyenlőség és az egyes sorozatok elemeinek egyezése érdekében.

A rendszer minden olyan elemhez inner tárol egy pár elemet, amely megfelel a benne lévő elemnek outer, valamint egy pár az egyes elemekhez, amelyekben outer nincsenek egyezések inner.

Ezután a resultSelector függvény meghívódik, hogy eredményobjektumot kivetítsen az egyes elempárokból.

A következőre érvényes:

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

Forrás:
Queryable.cs
Forrás:
Queryable.cs

Két sorozat elemeit korrelálja egyező kulcsok alapján. Az alapértelmezett egyenlőség-összehasonlító a kulcsok összehasonlítására szolgál.

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ípusparaméterek

TOuter

Az első sorozat elemeinek típusa.

TInner

A második sorozat elemeinek típusa.

TKey

A kulcsválasztó függvények által visszaadott kulcsok típusa.

TResult

Az eredményelemek típusa.

Paraméterek

outer
IQueryable<TOuter>

Az első illesztendő sorozat.

inner
IEnumerable<TInner>

Az első sorozathoz illesztendő sorozat.

outerKeySelector
Expression<Func<TOuter,TKey>>

Egy függvény, amely kinyeri az illesztőkulcsot az első sorozat minden eleméből.

innerKeySelector
Expression<Func<TInner,TKey>>

Egy függvény, amely kinyeri az illesztőkulcsot a második sorozat minden eleméből.

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

Egy függvény, amely két egyező elemből hoz létre eredményelemet.

Válaszok

IQueryable<TResult>

Olyan IEnumerable<T> elem, amely két szekvencián bal oldali külső illesztés végrehajtásával kapott típuselemekkel TResult rendelkezik.

Kivételek

outervagy inner vagy outerKeySelectorinnerKeySelectorresultSelector az.null

Megjegyzések

Ez a metódus legalább egy típusparamétert Expression<TDelegate> használ, amelynek típusargumentuma az Func<T,TResult> egyik típus.

Ezekhez a paraméterekhez átadhat egy lambda kifejezést, és az Expression<TDelegate>egy .

A LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) metódus létrehoz egy olyan metódust MethodCallExpression , amely önmagát generált általános metódusként jeleníti LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) meg.

Ezután átadja a MethodCallExpression paraméter tulajdonsága által CreateQuery<TElement>(Expression) képviselt metódusnak IQueryProviderProvider.outer

A meghívást LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) jelképező kifejezésfa végrehajtása során előforduló lekérdezési viselkedés a paraméter típusának outer implementálásától függ.

A várt viselkedés a bal oldali külső illesztés.

A outerKeySelector függvények és innerKeySelector a függvények a kulcsok outerinner kinyerésére szolgálnak.

Ezeket a kulcsokat a rendszer összehasonlítja az egyenlőség és az egyes sorozatok elemeinek egyezése érdekében.

A rendszer minden olyan elemhez inner tárol egy pár elemet, amely megfelel a benne lévő elemnek outer, valamint egy pár az egyes elemekhez, amelyekben outer nincsenek egyezések inner.

Ezután a resultSelector függvény meghívódik, hogy eredményobjektumot kivetítsen az egyes elempárokból.

A következőre érvényes:

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

Forrás:
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ípusparaméterek

TOuter
TInner
TKey

Paraméterek

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

Válaszok

IQueryable<ValueTuple<TOuter,TInner>>

A következőre érvényes: