Metodo OrderByDescending(TPayload, TOrderKey)
Ordina il flusso di input per rankSelector in ordine decrescente.
Spazio dei nomi Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Sintassi
public static CepOrderedStream<TPayload> OrderByDescending<TPayload, TOrderKey>(
this CepOrderableStream<TPayload> source,
Expression<Func<TPayload, TOrderKey>> rankSelector
)
Parametri di tipo
- TPayload
Tipo di payload di eventi di input.
- TOrderKey
Tipo di chiave di ordinamento.
Parametri
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderableStream< (Of < ( <'TPayload> ) > ) >
Origine del flusso rispetto alla quale ordinare.
- rankSelector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TPayload, TOrderKey> ) > ) >> ) > ) >
Espressione il cui valore è utilizzato per confrontare gli eventi l'uno rispetto all'altro.
Valore restituito
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderedStream< (Of < ( <'TPayload> ) > ) >
Flusso ordinato che può essere ulteriormente ordinato per rango, ad esempio tramite Take().
Nota sull'utilizzo
In Visual Basic e C# questo metodo può essere chiamato come metodo di istanza su qualsiasi oggetto di tipo CepOrderableStream< (Of < ( <'TPayload> ) > ) >. Quando si utilizza la sintassi del metodo di istanza per chiamare questo metodo, omettere il primo parametro. Per ulteriori informazioni, vedere https://msdn.microsoft.com/it-it/library/bb384936(v=sql.105) o https://msdn.microsoft.com/it-it/library/bb383977(v=sql.105).
Osservazioni
Per ulteriori informazioni, vedere TopK.
Esempi
Nell'esempio seguente vengono considerati i primi cinque eventi di ogni finestra snapshot definiti per il flusso di input inputStream e viene generato un nuovo flusso di eventi. Gli eventi di ogni finestra vengono disposti in ordine crescente di valore nei campi payload e.f combinati con l'ordine decrescente di valore nel campo payload 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);