Compartir a través de


Join(TOuter, TInner, TKey, TResult) Método

Combina los eventos del flujo externo con eventos del flujo interno en la clave de combinación dada.

Espacio de nombres:  Microsoft.ComplexEventProcessing.Linq
Ensamblado:  Microsoft.ComplexEventProcessing (en Microsoft.ComplexEventProcessing.dll)

Sintaxis

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 flujo externo.
  • TInner
    Tipo de evento de flujo interno.
  • TKey
    Tipo de clave de combinación.
  • TResult
    Tipo de resultado de la combinación.

Parámetros

Valor devuelto

Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TResult> ) > ) >
Flujo de eventos combinados.

Nota de uso

En Visual Basic y C#, puede llamar a este método como un método de instancia en cualquier objeto del tipo CepStream< (Of < ( <'TOuter> ) > ) >. Cuando utilice la sintaxis del método de instancia para llamar a este método, sáltese este parámetro primero. Para obtener más información, vea https://msdn.microsoft.com/es-es/library/bb384936(v=sql.105) o https://msdn.microsoft.com/es-es/library/bb383977(v=sql.105).

Comentarios

Para obtener más información, vea Combinaciones.

Ejemplos

En el siguiente ejemplo se comparan los eventos del flujo stream1 con los eventos del flujo stream2. Los eventos del flujo que cumplen los criterios de igualdad definidos en la cláusula on (además de superponerse en los intervalos de tiempo de los dos eventos) se combinan y generan un nuevo evento que contiene los campos de carga i y j del evento e1 y el campo j del 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 };

Vea también

Referencia

CepStream Clase

Espacio de nombres Microsoft.ComplexEventProcessing.Linq