Ich versuche, 5 ältesten Einträge aus meiner Datenbank auszuwählen. Ich verwende die folgende Erklärung ab:C# Entity Framwork - Order by und Take
dbContext.Items.Take(5).OrderBy(i => i.LastCheck).ToListAsync();
Das Problem hierbei ist, dass EF zuerst die ersten 5 Elemente aus der Tabelle nimmt, und sortiert sie dann. So bekomme ich immer die 5 ersten Einträge aus der Tabelle. Aber ich mag es zuerst um die Elemente zu sortieren und dann die Top-5 diejenigen wählen, wie wenn ich diesen SQL-Befehl ausführen:
select top 5 * from Items order by LastCheck asc
Hier bekomme ich das richtige Ergebnis.
Gibt es eine Möglichkeit, das in EF zu tun, oder muss ich die Abfrage ausführen?
dank
Bestellen Sie die Artikel zuerst, dann nehmen Sie ... – Gusman
Schalten Sie einfach Ihre 'OrderBy()' und 'Take()'. – itsme86
Tauschen Sie einfach die Position von orderby und nehmen Sie .... – Norgerman