Méthode SelectMany(TInput, TBind, TResult) (CepStream(TInput), Expression(Func(CepStream(TInput), CepStream(TBind))), Expression(Func(TInput, TBind, TResult)))
Produit un flux de données selon la jointure croisée de deux flux d'entrée.
Espace de noms : Microsoft.ComplexEventProcessing.Linq
Assembly : Microsoft.ComplexEventProcessing (en Microsoft.ComplexEventProcessing.dll)
Syntaxe
public static CepStream<TResult> SelectMany<TInput, TBind, TResult>(
this CepStream<TInput> source,
Expression<Func<CepStream<TInput>, CepStream<TBind>>> bind,
Expression<Func<TInput, TBind, TResult>> selector
)
Paramètres de type
- TInput
Type de charge utile des événements du flux d'entrée externe.
- TBind
Type de charge utile des événements du flux d'entrée interne.
- TResult
Type de charge utile des événements de résultat.
Paramètres
- source
Type : Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TInput> ) > ) >
Flux d'entrée externe.
- bind
Type : System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepStream< (Of < ( <'TInput> ) > ) >, CepStream< (Of < ( <'TBind> ) > ) >> ) > ) >> ) > ) >
Flux d'entrée interne.
- selector
Type : System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TInput, TBind, TResult> ) > ) >> ) > ) >
Expression de mappage qui définit une projection sur la sortie.
Valeur de retour
Type : Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TResult> ) > ) >
Flux de données où le résultat est une jointure croisée du flux de données externe et du flux de données interne.
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 < ( <'TInput> ) > ) >. 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
Notez que même dans une jointure croisée, les événements du flux de données interne et externe ne sont mis en correspondance et générés en tant que résultat de la jointure que si leur durée de vie se recoupe. Pour plus d'informations, consultez Jointures.
Exemples
Dans l'exemple suivant, les événements de stream1 dont la valeur du champ de charge utile i est supérieure à 3 sont joints aux événements de stream2 dont la valeur du champ de charge utile j est inférieure à 10.
var crossJoin = from e1 in stream1
from e2 in stream2
where e1.i > 3 && e2.j < 10
select new { e1.i, e2.j };