Método OrderBy(TPayload, TOrderKey)
Ordena o fluxo de entrada por rankSelector.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (em Microsoft.ComplexEventProcessing.dll)
Sintaxe
public static CepOrderedStream<TPayload> OrderBy<TPayload, TOrderKey>(
this CepOrderableStream<TPayload> source,
Expression<Func<TPayload, TOrderKey>> rankSelector
)
Parâmetros de tipo
- TPayload
Tipo de carga dos eventos de entrada.
- TOrderKey
Tipo de chave de ordenação.
Parâmetros
- source
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderableStream< (Of < ( <'TPayload> ) > ) >
Origem do fluxo pela qual ordenar.
- rankSelector
Tipo: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TPayload, TOrderKey> ) > ) >> ) > ) >
Expressão de classificação cujo valor é usado para comparar eventos entre si.
Valor de retorno
Tipo: Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderedStream< (Of < ( <'TPayload> ) > ) >
Um fluxo ordenado que pode ser classificado adicionalmente, por exemplo, usando Take().
Observação sobre o uso
No Visual Basic e C#, você pode chamar esse método como um método de instância em qualquer objeto do tipo CepOrderableStream< (Of < ( <'TPayload> ) > ) >. Quando usar uma sintaxe de método de instância para chamar esse método, omita o primeiro parâmetro. Para obter mais informações, consulte https://msdn.microsoft.com/pt-br/library/bb384936(v=sql.105) ou https://msdn.microsoft.com/pt-br/library/bb383977(v=sql.105).
Exemplos
O exemplo a seguir usa os cinco eventos principais de cada janela de instantâneo definidos para o fluxo de entrada inputStream e gera um novo fluxo de eventos. Os eventos em cada janela são classificados na ordem crescente dos valores nos campos de carga e.f combinados com a ordem decrescente dos valores no 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);