Método Join(TOuter, TInner, TKey, TResult)
Une os eventos do fluxo externo a eventos do fluxo interno em uma determinada chave de junção.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (em Microsoft.ComplexEventProcessing.dll)
Sintaxe
public static CepStream<TResult> Join<TOuter, TInner, TKey, TResult>(
this CepStream<TOuter> outer,
CepStream<TInner> inner,
Expression<Func<TOuter, TKey>> outerKeySelector,
Expression<Func<TInner, TKey>> innerKeySelector,
Expression<Func<TOuter, TInner, TResult>> selector
)
Parâmetros de tipo
- TOuter
Tipo de evento de fluxo externo.
- TInner
Tipo de evento de fluxo interno.
- TKey
Tipo de junção-chave.
- TResult
Tipo de resultado de junção.
Parâmetros
- outer
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TOuter> ) > ) >
O fluxo externo.
- inner
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TInner> ) > ) >
O fluxo interno.
- outerKeySelector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TOuter, TKey> ) > ) >> ) > ) >
Seletor para selecionar os valores de chaves de evento de fluxo externo.
- innerKeySelector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TInner, TKey> ) > ) >> ) > ) >
Seletor para selecionar os valores de chave de evento do fluxo interno.
- selector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TOuter, TInner, TResult> ) > ) >> ) > ) >
Expressão de mapeamento que define uma projeção na saída.
Valor de retorno
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TResult> ) > ) >
Um fluxo de eventos unidos.
Observação sobre o uso
No Visual Basic e C#, você pode chamar esse método como um método de instância em qualquer objeto do tipo CepStream< (Of < ( <'TOuter> ) > ) >. Quando usar uma sintaxe de método de instância para chamar esse método, omita o primeiro parâmetro. Para obter mais informações, consulte https://msdn.microsoft.com/pt-br/library/bb384936(v=sql.105) ou https://msdn.microsoft.com/pt-br/library/bb383977(v=sql.105).
Comentários
Para obter mais informações, consulte Junções.
Exemplos
O exemplo a seguir compara eventos do fluxo stream1 com eventos do fluxo stream2. Os eventos do fluxo que atendem aos critérios de igualdade definidos na cláusula on (além da sobreposição nos intervalos de tempo dos dois eventos) são unidos e geram um novo evento que contém os campos de carga i e j do evento e1 e o campo j do evento e2.
// Assuming the following input event type for both stream1 and stream2.
public class MyPayload
{
public int i;
public float j;
}
var equiJoin = from e1 in stream1
join e2 in stream2
on e1.i equals e2.i
select new { e1.i, e1.j, e2.j };