Méthode OrderBy(TPayload, TOrderKey)
Trie le flux de données d'entrée selon rankSelector.
Espace de noms : Microsoft.ComplexEventProcessing.Linq
Assembly : Microsoft.ComplexEventProcessing (en Microsoft.ComplexEventProcessing.dll)
Syntaxe
public static CepOrderedStream<TPayload> OrderBy<TPayload, TOrderKey>(
this CepOrderableStream<TPayload> source,
Expression<Func<TPayload, TOrderKey>> rankSelector
)
Paramètres de type
- TPayload
Type de charge utile des événements d'entrée.
- TOrderKey
Type de la clé de tri.
Paramètres
- source
Type : Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderableStream< (Of < ( <'TPayload> ) > ) >
Source de flux de données sur laquelle effectuer le tri.
- rankSelector
Type : System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TPayload, TOrderKey> ) > ) >> ) > ) >
Expression de classement dont la valeur est utilisée pour comparer des événements les uns aux autres.
Valeur de retour
Type : Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderedStream< (Of < ( <'TPayload> ) > ) >
Flux de données ordonné dont le classement peut être affiné, par exemple à l'aide de Take().
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 CepOrderableStream< (Of < ( <'TPayload> ) > ) >. 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).
Exemples
L'exemple suivant prend les cinq premiers événements de chaque fenêtre d'instantané définie pour le flux d'entrée inputStream, puis génère un nouveau flux d'événements. Les événements dans chaque fenêtre sont ordonnés dans l'ordre croissant des valeurs dans les champs de charge utile e.f et combinés avec l'ordre décroissant des valeurs dans le champ de charge utile e.i.
// Assuming the following input event type for inputStream:
public class MyPayload
{
public int f;
public int i;
}
var topfive = (from window in inputStream.Snapshot(SnapshotWindowOutputPolicy.Clip)
from e in window
orderby e.f ascending, e.i descending
select e).Take(5);