Queryable.LeftJoin Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| 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>) |
Korrelerar elementen i två sekvenser baserat på matchande nycklar. En angiven IEqualityComparer<T> används för att jämföra nycklar. |
| LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) |
Korrelerar elementen i två sekvenser baserat på matchande nycklar. Standardjämförlikningsjämföraren används för att jämföra nycklar. |
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älla:
- Queryable.cs
- Källa:
- Queryable.cs
Korrelerar elementen i två sekvenser baserat på matchande nycklar. En angiven IEqualityComparer<T> används för att jämföra nycklar.
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)
Typparametrar
- TOuter
Typ av element i den första sekvensen.
- TInner
Typ av element i den andra sekvensen.
- TKey
Typ av nycklar som returneras av nyckelväljarfunktionerna.
- TResult
Typ av resultatelement.
Parametrar
- outer
- IQueryable<TOuter>
Den första sekvensen som ska kopplas.
- inner
- IEnumerable<TInner>
Sekvensen som ska kopplas till den första sekvensen.
- outerKeySelector
- Expression<Func<TOuter,TKey>>
En funktion för att extrahera kopplingsnyckeln från varje element i den första sekvensen.
- innerKeySelector
- Expression<Func<TInner,TKey>>
En funktion för att extrahera kopplingsnyckeln från varje element i den andra sekvensen.
- resultSelector
- Expression<Func<TOuter,TInner,TResult>>
En funktion för att skapa ett resultatelement från två matchande element.
- comparer
- IEqualityComparer<TKey>
En IEqualityComparer<T> att hash och jämföra nycklar.
Returer
En IEnumerable<T> som har element av typen TResult som erhålls genom att utföra en vänster yttre koppling på två sekvenser.
Undantag
outer eller inner eller outerKeySelector eller innerKeySelectorresultSelector är null.
Kommentarer
Den här metoden har minst en parameter av typen Expression<TDelegate> vars typargument är en av typerna Func<T,TResult> .
För dessa parametrar kan du skicka ett lambda-uttryck och kompileras till en Expression<TDelegate>.
Metoden LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) genererar en MethodCallExpression som representerar att anropa LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) sig själv som en konstruerad generisk metod.
Den skickar sedan till MethodCallExpression metoden för den CreateQuery<TElement>(Expression) som representeras av IQueryProvider egenskapen för parameternProvider.outer
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop 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örs beror på implementeringen av outer parametertypen.
Det förväntade beteendet är en vänster yttre koppling.
Funktionerna outerKeySelector och innerKeySelector används för att extrahera nycklar från outer respektive inner.
Dessa nycklar jämförs för likhet för att matcha element från varje sekvens.
Ett par element lagras för varje element i inner som matchar ett element i outer, plus ett par för varje element i outer som inte har några matchningar i inner.
resultSelector Sedan anropas funktionen för att projicera ett resultatobjekt från varje elementpar.
Gäller för
LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>)
- Källa:
- Queryable.cs
- Källa:
- Queryable.cs
Korrelerar elementen i två sekvenser baserat på matchande nycklar. Standardjämförlikningsjämföraren används för att jämföra nycklar.
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)
Typparametrar
- TOuter
Typ av element i den första sekvensen.
- TInner
Typ av element i den andra sekvensen.
- TKey
Typ av nycklar som returneras av nyckelväljarfunktionerna.
- TResult
Typ av resultatelement.
Parametrar
- outer
- IQueryable<TOuter>
Den första sekvensen som ska kopplas.
- inner
- IEnumerable<TInner>
Sekvensen som ska kopplas till den första sekvensen.
- outerKeySelector
- Expression<Func<TOuter,TKey>>
En funktion för att extrahera kopplingsnyckeln från varje element i den första sekvensen.
- innerKeySelector
- Expression<Func<TInner,TKey>>
En funktion för att extrahera kopplingsnyckeln från varje element i den andra sekvensen.
- resultSelector
- Expression<Func<TOuter,TInner,TResult>>
En funktion för att skapa ett resultatelement från två matchande element.
Returer
En IEnumerable<T> som har element av typen TResult som erhålls genom att utföra en vänster yttre koppling på två sekvenser.
Undantag
outer eller inner eller outerKeySelector eller innerKeySelectorresultSelector är null.
Kommentarer
Den här metoden har minst en parameter av typen Expression<TDelegate> vars typargument är en av typerna Func<T,TResult> .
För dessa parametrar kan du skicka ett lambda-uttryck och kompileras till en Expression<TDelegate>.
Metoden LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) genererar en MethodCallExpression som representerar att anropa LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) sig själv som en konstruerad generisk metod.
Den skickar sedan till MethodCallExpression metoden för den CreateQuery<TElement>(Expression) som representeras av IQueryProvider egenskapen för parameternProvider.outer
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>,
Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>,
Expression<Func<TOuter,TInner,TResult>>) körs beror på implementeringen av outer parametertypen.
Det förväntade beteendet är en vänster yttre koppling.
Funktionerna outerKeySelector och innerKeySelector används för att extrahera nycklar från outer respektive inner.
Dessa nycklar jämförs för likhet för att matcha element från varje sekvens.
Ett par element lagras för varje element i inner som matchar ett element i outer, plus ett par för varje element i outer som inte har några matchningar i inner.
resultSelector Sedan anropas funktionen för att projicera ett resultatobjekt från varje elementpar.