OrderByDescending(TPayload, TOrderKey)-Methode
Ordnet den Eingabedatenstrom nach dem rankSelector in absteigender Reihenfolge.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Syntax
public static CepOrderedStream<TPayload> OrderByDescending<TPayload, TOrderKey>(
this CepOrderableStream<TPayload> source,
Expression<Func<TPayload, TOrderKey>> rankSelector
)
Typparameter
- TPayload
Der Nutzlasttyp der Eingabeereignisse.
- TOrderKey
Der Typ des Sortierschlüssels.
Parameter
- source
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderableStream< (Of < ( <'TPayload> ) > ) >
Die Datenstromquelle, nach der geordnet wird.
- rankSelector
Typ: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TPayload, TOrderKey> ) > ) >> ) > ) >
Der Ausdruck, dessen Wert verwendet wird, um Ereignisse miteinander zu vergleichen.
Rückgabewert
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderedStream< (Of < ( <'TPayload> ) > ) >
Ein geordneter Datenstrom, der weiter nach Rang geordnet werden kann, z. B. mit Take().
Hinweis zur Verwendung
In Visual Basic und C# können Sie die Methode als Instanzenmethode für jedes Objekt vom Typ CepOrderableStream< (Of < ( <'TPayload> ) > ) > aufrufen. Wenn Sie Instanzmethodensyntax zum Aufruf dieser Methode verwenden, vernachlässigen Sie den ersten Parameter. Weitere Informationen finden Sie unter https://msdn.microsoft.com/de-de/library/bb384936(v=sql.105) oder https://msdn.microsoft.com/de-de/library/bb383977(v=sql.105).
Hinweise
Weitere Informationen finden Sie unter TopK.
Beispiele
Im folgenden Beispiel werden die obersten fünf Ereignisse aus jedem für den Eingabedatenstrom inputStream definierten Momentaufnahmefenster verwendet und ein neuer Ereignisdatenstrom generiert. Die Ereignisse in jedem Fenster werden in aufsteigender Reihenfolge der Werte in den Nutzlastfeldern e.f sortiert, kombiniert mit der absteigenden Reihenfolge der Werte im Nutzlastfeld 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);