У меня есть Measurement Объекты с соответствующими свойствами CreationTime (DateTime) и Reference (String) и некоторые другие значения.
Я хотел бы написать эффективный запрос linq к DbContext, который
- группирует объекты
Measurementпо заданномуReference - упорядочивает группы с помощью свойства
CreationTimeпервогоMeasurementиз группы или среднего значения свойствCreationTime - ограничивает запрос до последнего
numOfEntries
(На следующем этапе я вычисляю усредненные значения по этим возвращенным группам, но думаю, что это не относится к моей проблеме.)
Сам DbContext имеет DbSet<Measurement>, называемый Measurements, содержащий все Measurement объекты.
Я придумал следующий запрос, который приводит к упорядоченному списку групп, но между ними отсутствуют некоторые группы.
var groupByReference = (from m in context.Measurements
orderby m.CreationTime
group m by new { m.Reference } into g
select g).Take(numOfEntries).ToList();
Как правильно выбрать "последние" группы Measurement?
Я использую Entity Framework 4.4 с базой данных MySQL (MySql Connector/Net 6.6.4). Этот пример упрощен, я могу более подробно и/или привести пример, если это необходимо.
Спасибо!