Queryable.RightJoin Metoda

Definice

Přetížení

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

Koreluje prvky dvou sekvencí na základě odpovídajících klíčů. Výchozí porovnávač rovnosti se používá k porovnání klíčů.

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

Koreluje prvky dvou sekvencí na základě odpovídajících klíčů. Zadaný IEqualityComparer<T> slouží k porovnání klíčů.

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

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

Zdroj:
Queryable.cs
Zdroj:
Queryable.cs

Koreluje prvky dvou sekvencí na základě odpovídajících klíčů. Výchozí porovnávač rovnosti se používá k porovnání klíčů.

public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TResult> ^ RightJoin(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> RightJoin<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 RightJoin : 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 RightJoin(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 prvků první sekvence.

TInner

Typ prvků druhé sekvence.

TKey

Typ klíčů vrácených funkcemi selektoru klíčů.

TResult

Typ výsledných prvků.

Parametry

outer
IQueryable<TOuter>

První sekvence, která se má spojit.

inner
IEnumerable<TInner>

Sekvence, která se má spojit s první sekvencí.

outerKeySelector
Expression<Func<TOuter,TKey>>

Funkce, která extrahuje klíč spojení z každého prvku první sekvence.

innerKeySelector
Expression<Func<TInner,TKey>>

Funkce, která extrahuje klíč spojení z každého prvku druhé sekvence.

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

Funkce, která vytvoří výsledný prvek ze dvou odpovídajících prvků.

Návraty

IQueryable<TResult>

Ten IEnumerable<T> má prvky typu TResult , které jsou získány provedením pravého vnějšího spojení ve dvou sekvencích.

Výjimky

outer inner nebo outerKeySelector nebo nebo innerKeySelectorresultSelector je null.

Poznámky

Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů.

Pro tyto parametry můžete předat výraz lambda a bude zkompilován do Expression<TDelegate>.

Metoda RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) vygeneruje MethodCallExpression , která představuje samotné volání RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) jako vytvořenou obecnou metodu.

Pak předá MethodCallExpression metodu CreateQuery<TElement>(Expression)IQueryProvider reprezentované Provider vlastností parametruouter.

Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) , závisí na implementaci typu parametru outer .

Očekávané chování je to, že pravé vnější spojení.

outerKeySelector Funkce innerKeySelector se používají k extrakci klíčů z outer a innerv uvedeném pořadí.

Tyto klíče se porovnávají s rovností tak, aby odpovídaly prvkům z každé sekvence.

Dvojice prvků je uložena pro každý prvek, který inner odpovídá prvku v outer, plus pár pro každý prvek, který inner nemá žádné shody v outer.

resultSelector Funkce se pak vyvolá k projektování výsledného objektu z každé dvojice prvků.

Platí pro

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

Zdroj:
Queryable.cs
Zdroj:
Queryable.cs

Koreluje prvky dvou sekvencí na základě odpovídajících klíčů. Zadaný IEqualityComparer<T> slouží k porovnání klíčů.

public:
generic <typename TOuter, typename TInner, typename TKey, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TResult> ^ RightJoin(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> RightJoin<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 RightJoin : 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 RightJoin(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 prvků první sekvence.

TInner

Typ prvků druhé sekvence.

TKey

Typ klíčů vrácených funkcemi selektoru klíčů.

TResult

Typ výsledných prvků.

Parametry

outer
IQueryable<TOuter>

První sekvence, která se má spojit.

inner
IEnumerable<TInner>

Sekvence, která se má spojit s první sekvencí.

outerKeySelector
Expression<Func<TOuter,TKey>>

Funkce, která extrahuje klíč spojení z každého prvku první sekvence.

innerKeySelector
Expression<Func<TInner,TKey>>

Funkce, která extrahuje klíč spojení z každého prvku druhé sekvence.

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

Funkce, která vytvoří výsledný prvek ze dvou odpovídajících prvků.

comparer
IEqualityComparer<TKey>

Hodnota IEqualityComparer<T> hash a porovnání klíčů

Návraty

IQueryable<TResult>

Ten IEnumerable<T> má prvky typu TResult , které jsou získány provedením pravého vnějšího spojení ve dvou sekvencích.

Výjimky

outer inner nebo outerKeySelector nebo nebo innerKeySelectorresultSelector je null.

Poznámky

Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů.

Pro tyto parametry můžete předat výraz lambda a bude zkompilován do Expression<TDelegate>.

Metoda RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) vygeneruje MethodCallExpression , která představuje samotné volání RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) jako vytvořenou obecnou metodu.

Pak předá MethodCallExpression metodu CreateQuery<TElement>(Expression)IQueryProvider reprezentované Provider vlastností parametruouter.

Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) , závisí na implementaci typu parametru outer .

Očekávané chování je to, že pravé vnější spojení.

outerKeySelector Funkce innerKeySelector se používají k extrakci klíčů z outer a innerv uvedeném pořadí.

Tyto klíče se porovnávají s rovností tak, aby odpovídaly prvkům z každé sekvence.

Dvojice prvků je uložena pro každý prvek, který inner odpovídá prvku v outer, plus pár pro každý prvek, který inner nemá žádné shody v outer.

resultSelector Funkce se pak vyvolá k projektování výsledného objektu z každé dvojice prvků.

Platí pro

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

Zdroj:
Queryable.cs
public static System.Linq.IQueryable<(TOuter? Outer, TInner Inner)> RightJoin<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 RightJoin : 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 RightJoin(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))

Parametry typu

TOuter
TInner
TKey

Parametry

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

Návraty

IQueryable<ValueTuple<TOuter,TInner>>

Platí pro