Queryable.RightJoin Metod

Definition

Överlagringar

Name Description
RightJoin<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.

RightJoin<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.

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

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

IQueryable<TResult>

En IEnumerable<T> som har element av typen TResult som erhålls genom att utföra en höger 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 RightJoin<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 RightJoin<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 RightJoin<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 höger 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 inner som inte har några matchningar i outer.

resultSelector Sedan anropas funktionen för att projicera ett resultatobjekt från varje elementpar.

Gäller för

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

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

IQueryable<TResult>

En IEnumerable<T> som har element av typen TResult som erhålls genom att utföra en höger 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 RightJoin<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 RightJoin<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 RightJoin<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 höger 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 inner som inte har några matchningar i outer.

resultSelector Sedan anropas funktionen för att projicera ett resultatobjekt från varje elementpar.

Gäller för