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
- outer
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TOuter> ) > ) >
El flujo externo.
- inner
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TInner> ) > ) >
El flujo interno.
- outerKeySelector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TOuter, TKey> ) > ) >> ) > ) >
Selector para seleccionar los valores de clave del evento de flujo externo.
- innerKeySelector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TInner, TKey> ) > ) >> ) > ) >
Selector para seleccionar los valores de clave del evento de flujo interno.
- selector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TOuter, TInner, TResult> ) > ) >> ) > ) >
Expresión de asignación que define una proyección en la salida.
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 };