Compartilhar via


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

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 };

Consulte também

Referência

CepStream Classe

Namespace Microsoft.ComplexEventProcessing.Linq