Partager via


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

Joint les événements du flux de données externe avec les événements du flux de données interne sur la clé de jointure donnée.

Espace de noms :  Microsoft.ComplexEventProcessing.Linq
Assembly :  Microsoft.ComplexEventProcessing (en Microsoft.ComplexEventProcessing.dll)

Syntaxe

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
)

Paramètres de type

  • TOuter
    Type d'événement de flux de données externe.
  • TInner
    Type d'événement de flux de données interne.
  • TKey
    Type de clé de jointure.
  • TResult
    Type de résultat de jointure.

Paramètres

  • outerKeySelector
    Type : System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TOuter, TKey> ) > ) >> ) > ) >
    Sélecteur permettant de sélectionner les valeurs de clés à partir d'un événement de flux de données externe.
  • innerKeySelector
    Type : System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TInner, TKey> ) > ) >> ) > ) >
    Sélecteur permettant de sélectionner la valeur de clé à partir d'un événement de flux de données interne.

Valeur de retour

Type : Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TResult> ) > ) >
Flux d'événements joints.

Remarque relative à l'utilisation

En Visual Basic et C#, vous pouvez appeler cette méthode comme méthode d'instance sur tout objet de type CepStream< (Of < ( <'TOuter> ) > ) >. Lorsque vous utilisez la syntaxe de la méthode d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez https://msdn.microsoft.com/fr-fr/library/bb384936(v=sql.105) ou https://msdn.microsoft.com/fr-fr/library/bb383977(v=sql.105).

Notes

Pour plus d'informations, consultez Jointures.

Exemples

Dans l'exemple suivant, les événements du flux stream1 sont comparés aux événements du flux stream2. Les événements du flux qui répondent aux critères d'égalité définis dans la clause on (et dont les intervalles de temps se chevauchent) sont joints et sortent dans un nouvel événement contenant les champs de charge utile i et j de l'événement e1 et le champ j de l'événement 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 };

Voir aussi

Référence

CepStream Classe

Espace de noms Microsoft.ComplexEventProcessing.Linq