OrderBy(TPayload, TOrderKey) Método
Ordena el flujo de entrada según rankSelector.
Espacio de nombres: Microsoft.ComplexEventProcessing.Linq
Ensamblado: Microsoft.ComplexEventProcessing (en Microsoft.ComplexEventProcessing.dll)
Sintaxis
public static CepOrderedStream<TPayload> OrderBy<TPayload, TOrderKey>(
this CepOrderableStream<TPayload> source,
Expression<Func<TPayload, TOrderKey>> rankSelector
)
Parámetros de tipo
- TPayload
Tipo de carga de los eventos de entrada.
- TOrderKey
Tipo de la clave de ordenación.
Parámetros
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderableStream< (Of < ( <'TPayload> ) > ) >
Origen de flujo por el que se debe ordenar.
- rankSelector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TPayload, TOrderKey> ) > ) >> ) > ) >
Expresión de clasificación cuyo valor se utiliza para comparar unos eventos con otros.
Valor devuelto
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderedStream< (Of < ( <'TPayload> ) > ) >
Flujo ordenado que se puede clasificar todavía más, por ejemplo mediante Take().
Nota de uso
En Visual Basic y C#, puede llamar a este método como un método de instancia en cualquier objeto del tipo CepOrderableStream< (Of < ( <'TPayload> ) > ) >. Cuando utilice la sintaxis del método de instancia para llamar a este método, sáltese este parámetro primero. Para obtener más información, vea https://msdn.microsoft.com/es-es/library/bb384936(v=sql.105) o https://msdn.microsoft.com/es-es/library/bb383977(v=sql.105).
Ejemplos
En el siguiente ejemplo se toman los cinco eventos superiores de cada ventana de instantánea definida para el flujo de entrada inputStream y se genera un nuevo flujo de eventos. Los eventos de cada ventana se muestran según el orden ascendente de los valores de los campos de carga e.f y según el orden descendente de los valores del campo de carga 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);