Entity Framework - Linq-Abfrage mit Sortieren nach und Gruppieren nach
ich habeMeasurement
Objekte mit den entsprechenden EigenschaftenCreationTime
(DateTime) undReference
(String) und einige andere Werte.
Ich möchte eine effiziente linq-Abfrage an a schreibenDbContext
Das
Measurement
Objekte von einem gegebenenReference
ordnet die Gruppen entweder durch dieCreationTime
Eigentum des erstenMeasurement
aus der Gruppe oder dem Durchschnitt derCreationTime
Eigenschaftenbegrenzt die Abfrage auf die aktuellstenumOfEntries
(In einem späteren Schritt berechne ich gemittelte Werte über diese zurückgegebenen Gruppen, aber ich denke, das ist für mein Problem nicht relevant.)
Der DbContext selbst hat eineDbSet<Measurement>
namensMeasurements
alles haltenMeasurement
Objekte.
Ich habe die folgende Abfrage erstellt, die zu einer Liste von Gruppen führt, die korrekt sortiert ist, zwischen denen jedoch einige Gruppen fehlen.
var groupByReference = (from m in context.Measurements
orderby m.CreationTime
group m by new { m.Reference } into g
select g).Take(numOfEntries).ToList();
Wie wähle ich die "neuesten" Gruppen vonMeasurement
ist richtig?
Ich verwende Entity Framework 4.4 mit einer MySQL-Datenbank (MySQL Connector / Net 6.6.4). Dieses Beispiel ist vereinfacht, ich kann ins Detail gehen und / oder ein Beispiel geben, wenn nötig.
Vielen Dank!