Queryable.RightJoin Método

Definição

Sobrecargas

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

Correlaciona os elementos de duas sequências com base em chaves correspondentes. O comparador de igualdade padrão é usado para comparar chaves.

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

Correlaciona os elementos de duas sequências com base em chaves correspondentes. Um IEqualityComparer<T> especificado é usado para comparar chaves.

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

Origem:
Queryable.cs
Origem:
Queryable.cs

Correlaciona os elementos de duas sequências com base em chaves correspondentes. O comparador de igualdade padrão é usado para comparar chaves.

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)

Parâmetros de tipo

TOuter

O tipo dos elementos da primeira sequência.

TInner

O tipo dos elementos da segunda sequência.

TKey

O tipo das chaves retornadas pelas funções do seletor de chave.

TResult

O tipo dos elementos de resultado.

Parâmetros

outer
IQueryable<TOuter>

A primeira sequência a ser unida.

inner
IEnumerable<TInner>

A sequência a ser unida à primeira sequência.

outerKeySelector
Expression<Func<TOuter,TKey>>

Uma função para extrair a chave de junção de cada elemento da primeira sequência.

innerKeySelector
Expression<Func<TInner,TKey>>

Uma função para extrair a chave de junção de cada elemento da segunda sequência.

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

Uma função para criar um elemento de resultado a partir de dois elementos correspondentes.

Retornos

IQueryable<TResult>

Um IEnumerable<T> que tem elementos do tipo TResult que são obtidos executando uma junção externa direita em duas sequências.

Exceções

outerou ou inner ou outerKeySelector ou innerKeySelectorresultSelector é null.

Comentários

Esse método tem pelo menos um parâmetro de tipo Expression<TDelegate> cujo argumento de tipo é um dos Func<T,TResult> tipos.

Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.

O RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) método gera um MethodCallExpression que representa chamar RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) a si mesmo como um método genérico construído.

Em seguida, ele passa o MethodCallExpressionCreateQuery<TElement>(Expression) método do IQueryProvider representado pela Provider propriedade do outer parâmetro.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) depende da implementação do tipo do outer parâmetro.

O comportamento esperado é o de uma junção externa direita.

As funções outerKeySelector e innerKeySelector são usadas para extrair chaves de outer e inner, respectivamente.

Essas chaves são comparadas quanto à igualdade para corresponder aos elementos de cada sequência.

Um par de elementos é armazenado para cada elemento em inner que corresponde a um elemento outer, além de um par para cada elemento que inner não tem correspondências em outer.

Em seguida, a resultSelector função é invocada para projetar um objeto de resultado de cada par de elementos.

Aplica-se a

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

Origem:
Queryable.cs
Origem:
Queryable.cs

Correlaciona os elementos de duas sequências com base em chaves correspondentes. Um IEqualityComparer<T> especificado é usado para comparar chaves.

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)

Parâmetros de tipo

TOuter

O tipo dos elementos da primeira sequência.

TInner

O tipo dos elementos da segunda sequência.

TKey

O tipo das chaves retornadas pelas funções do seletor de chave.

TResult

O tipo dos elementos de resultado.

Parâmetros

outer
IQueryable<TOuter>

A primeira sequência a ser unida.

inner
IEnumerable<TInner>

A sequência a ser unida à primeira sequência.

outerKeySelector
Expression<Func<TOuter,TKey>>

Uma função para extrair a chave de junção de cada elemento da primeira sequência.

innerKeySelector
Expression<Func<TInner,TKey>>

Uma função para extrair a chave de junção de cada elemento da segunda sequência.

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

Uma função para criar um elemento de resultado a partir de dois elementos correspondentes.

comparer
IEqualityComparer<TKey>

Um IEqualityComparer<T> ao hash e às chaves de comparação.

Retornos

IQueryable<TResult>

Um IEnumerable<T> que tem elementos do tipo TResult que são obtidos executando uma junção externa direita em duas sequências.

Exceções

outerou ou inner ou outerKeySelector ou innerKeySelectorresultSelector é null.

Comentários

Esse método tem pelo menos um parâmetro de tipo Expression<TDelegate> cujo argumento de tipo é um dos Func<T,TResult> tipos.

Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.

O RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) método gera um MethodCallExpression que representa chamar RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) a si mesmo como um método genérico construído.

Em seguida, ele passa o MethodCallExpressionCreateQuery<TElement>(Expression) método do IQueryProvider representado pela Provider propriedade do outer parâmetro.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada RightJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>, IEqualityComparer<TKey>) depende da implementação do tipo do outer parâmetro.

O comportamento esperado é o de uma junção externa direita.

As funções outerKeySelector e innerKeySelector são usadas para extrair chaves de outer e inner, respectivamente.

Essas chaves são comparadas quanto à igualdade para corresponder aos elementos de cada sequência.

Um par de elementos é armazenado para cada elemento em inner que corresponde a um elemento outer, além de um par para cada elemento que inner não tem correspondências em outer.

Em seguida, a resultSelector função é invocada para projetar um objeto de resultado de cada par de elementos.

Aplica-se a