У меня есть Measurement
Объекты с соответствующими свойствами CreationTime
(DateTime) и Reference
(String) и некоторые другие значения.Entity Framework - запрос Linq с заказом по и группе по
Я хотел бы написать эффективный запрос 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
s правильно?
Я использую Entity Framework 4.4 с базой данных MySQL (MySql Connector/Net 6.6.4). Этот пример упрощен, я могу более подробно и/или привести пример, если это необходимо.
Спасибо!
Вместо расчетом «среднее значение CreationTime », рассмотрели ли вы расчет временного интервала из заданной точки и затем определение среднего значения этих временных интервалов, а затем вычисление итоговой даты на основе данной точки и среднего времени? –