Queryable.LeftJoin Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) |
Koreluje elementy dwóch sekwencji na podstawie pasujących kluczy. Określony IEqualityComparer<T> służy do porównywania kluczy. |
| LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) |
Koreluje elementy dwóch sekwencji na podstawie pasujących kluczy. Domyślny moduł porównywania równości służy do porównywania kluczy. |
LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>)
- Źródło:
- Queryable.cs
- Źródło:
- Queryable.cs
Koreluje elementy dwóch sekwencji na podstawie pasujących kluczy. Określony IEqualityComparer<T> służy do porównywania kluczy.
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)
Parametry typu
- TOuter
Typ elementów pierwszej sekwencji.
- TInner
Typ elementów drugiej sekwencji.
- TKey
Typ kluczy zwracanych przez funkcje selektora kluczy.
- TResult
Typ elementów wyniku.
Parametry
- outer
- IQueryable<TOuter>
Pierwsza sekwencja do sprzężenia.
- inner
- IEnumerable<TInner>
Sekwencja dołączenia do pierwszej sekwencji.
- outerKeySelector
- Expression<Func<TOuter,TKey>>
Funkcja wyodrębniania klucza sprzężenia z każdego elementu pierwszej sekwencji.
- innerKeySelector
- Expression<Func<TInner,TKey>>
Funkcja wyodrębniania klucza sprzężenia z każdego elementu drugiej sekwencji.
- resultSelector
- Expression<Func<TOuter,TInner,TResult>>
Funkcja tworząca element wynikowy na podstawie dwóch pasujących elementów.
- comparer
- IEqualityComparer<TKey>
IEqualityComparer<T> skrótu i porównania kluczy.
Zwraca
Element IEnumerable<T> zawierający elementy typu TResult , które są uzyskiwane przez wykonanie lewego sprzężenia zewnętrznego w dwóch sekwencjach.
Wyjątki
outer lub innerouterKeySelector lub innerKeySelectorresultSelector lub ma wartość null.
Uwagi
Ta metoda ma co najmniej jeden parametr typu Expression<TDelegate> , którego argument type jest jednym z Func<T,TResult> typów.
W przypadku tych parametrów można przekazać wyrażenie lambda i zostanie skompilowane do elementu Expression<TDelegate>.
Metoda LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) generuje obiekt MethodCallExpression , który reprezentuje wywołanie LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) jako skonstruowaną metodę ogólną.
Następnie przekazuje MethodCallExpression wartość do CreateQuery<TElement>(Expression) metody IQueryProvider reprezentowanej przez Provider właściwość parametru outer .
Zachowanie zapytania, które występuje w wyniku wykonania drzewa wyrażeń reprezentującego wywołanie LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>,
Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>,
Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) , zależy od implementacji typu parametru outer .
Oczekiwanym zachowaniem jest sprzężenia zewnętrznego po lewej stronie.
Funkcje outerKeySelector i innerKeySelector służą do wyodrębniania kluczy z outer i innerodpowiednio.
Te klucze są porównywane pod kątem równości w celu dopasowania elementów z każdej sekwencji.
Para elementów jest przechowywana dla każdego elementu w inner programie, który pasuje do elementu w outerelemecie , oraz pary dla każdego elementu w outer obiekcie, który nie ma dopasowań w elemecie inner.
Następnie funkcja jest wywoływana resultSelector w celu projekcji obiektu wynikowego z każdej pary elementów.
Dotyczy
LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>)
- Źródło:
- Queryable.cs
- Źródło:
- Queryable.cs
Koreluje elementy dwóch sekwencji na podstawie pasujących kluczy. Domyślny moduł porównywania równości służy do porównywania kluczy.
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)
Parametry typu
- TOuter
Typ elementów pierwszej sekwencji.
- TInner
Typ elementów drugiej sekwencji.
- TKey
Typ kluczy zwracanych przez funkcje selektora kluczy.
- TResult
Typ elementów wyniku.
Parametry
- outer
- IQueryable<TOuter>
Pierwsza sekwencja do sprzężenia.
- inner
- IEnumerable<TInner>
Sekwencja dołączenia do pierwszej sekwencji.
- outerKeySelector
- Expression<Func<TOuter,TKey>>
Funkcja wyodrębniania klucza sprzężenia z każdego elementu pierwszej sekwencji.
- innerKeySelector
- Expression<Func<TInner,TKey>>
Funkcja wyodrębniania klucza sprzężenia z każdego elementu drugiej sekwencji.
- resultSelector
- Expression<Func<TOuter,TInner,TResult>>
Funkcja tworząca element wynikowy na podstawie dwóch pasujących elementów.
Zwraca
Element IEnumerable<T> zawierający elementy typu TResult , które są uzyskiwane przez wykonanie lewego sprzężenia zewnętrznego w dwóch sekwencjach.
Wyjątki
outer lub innerouterKeySelector lub innerKeySelectorresultSelector lub ma wartość null.
Uwagi
Ta metoda ma co najmniej jeden parametr typu Expression<TDelegate> , którego argument type jest jednym z Func<T,TResult> typów.
W przypadku tych parametrów można przekazać wyrażenie lambda i zostanie skompilowane do elementu Expression<TDelegate>.
Metoda LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) generuje obiekt MethodCallExpression , który reprezentuje wywołanie LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) jako skonstruowaną metodę ogólną.
Następnie przekazuje MethodCallExpression wartość do CreateQuery<TElement>(Expression) metody IQueryProvider reprezentowanej przez Provider właściwość parametru outer .
Zachowanie zapytania, które występuje w wyniku wykonania drzewa wyrażeń reprezentującego wywołanie LeftJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>,
Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>,
Expression<Func<TOuter,TInner,TResult>>) , zależy od implementacji typu parametru outer .
Oczekiwanym zachowaniem jest sprzężenia zewnętrznego po lewej stronie.
Funkcje outerKeySelector i innerKeySelector służą do wyodrębniania kluczy z outer i innerodpowiednio.
Te klucze są porównywane pod kątem równości w celu dopasowania elementów z każdej sekwencji.
Para elementów jest przechowywana dla każdego elementu w inner programie, który pasuje do elementu w outerelemecie , oraz pary dla każdego elementu w outer obiekcie, który nie ma dopasowań w elemecie inner.
Następnie funkcja jest wywoływana resultSelector w celu projekcji obiektu wynikowego z każdej pary elementów.