Ich habe Measurement
Objekte mit den entsprechenden Eigenschaften CreationTime
(DateTime) und Reference
(String) und einige andere Werte.Entity Framework - Linq Abfrage mit Reihenfolge von und Gruppe von
Ich möchte eine effiziente Linq-Abfrage, um eine meiner Measurement
DbContext
dass
- Gruppen Objekte schreiben von einem bestimmten
Reference
- Aufträge die Gruppen entweder durch die
CreationTime
Eigentum des erstenMeasurement
aus der Gruppe oder der Durchschnitt derCreationTime
Eigenschaften - begrenzt die Abfrage auf die neuesten
numOfEntries
(In einem späteren Schritt i berechnen Werte über diese zurück Gruppen gemittelt, aber ich denke, dass für mein Problem nicht relevant ist.)
Die DbContext selbst eine DbSet<Measurement>
hat Measurements
hält alle Measurement
Objekte genannt.
Ich kam mit der folgenden Abfrage, die zu einer Liste von Gruppen führt, die korrekt sortiert ist, aber einige Gruppen dazwischen fehlt.
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 „letzten“ Gruppen von Measurement
richtig s?
Ich benutze Entity Framework 4.4 mit einer MySQL-Datenbank (MySql Connector/Net 6.6.4). Dieses Beispiel ist vereinfacht, ich kann mehr ins Detail gehen und/oder ein Beispiel geben, wenn es notwendig ist.
Danke!
Statt der Berechnung der „Average der Creation Haben Sie darüber nachgedacht, die Zeitspanne von einem bestimmten Punkt aus zu berechnen und dann den Durchschnitt dieser Zeitspannen zu bestimmen und dann das resultierende Datum auf der Basis des gegebenen Punktes und der durchschnittlichen Zeitspanne zu berechnen? –