Ich schreibe einen Test, um Anwendungsprotokolle zu prüfen, die in den Tausenden pro Minute nummerieren können. Ich möchte FindAsync verwenden, um die neuesten Protokolle abzurufen. Doch manchmal gibt es Brüche in dem Service, so dass Sie einen Zeitwert nicht genau:FindAsync, um die letzten 1000 Ergebnisse zurückzugeben
// may return many or none`
context.FindAsync(x => x.Timestamp >= DateTime.Now.AddMinutes(-10))
Was ich will ist, etwas zu tun wie:
context.FindAsync(x => OrderByDescending(x.Timestamp).Take(1000))
Das Problem ist, dass, wenn FindAsync zu viele gibt Ergebnisse, könnte es andere Dienste und Threads verlangsamen. Gibt es eine Möglichkeit, mit FindAsync nur die letzten 1000 Zeilen zurückzugeben?
Sie können versuchen, OrderByDesc-Methode. –
context.OrderByDescrding (x => Zeitstempel) .Take (1000)? –
Dies ist eine asynchrone Operation, es müsste ein OrderByDescAsync() - Aufruf sein, damit dies funktioniert. –