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

Gruppen meineMeasurement Objekte von einem gegebenenReferenceordnet 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> namensMeasurementsalles 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 vonMeasurementist 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!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage