Entity Framework - Consulta Linq con orden por y grupo por
yo tengoMeasurement
Objetos con las propiedades relevantes.CreationTime
(DateTime) yReference
(String) y algunos otros valores.
Me gustaría escribir una consulta linq eficiente a unaDbContext
ese
Measurement
objetos por un determinadoReference
ordena a los grupos ya sea por elCreationTime
Propiedad de la primeraMeasurement
del grupo o el promedio de laCreationTime
propiedadesLimita la consulta a la más reciente.numOfEntries
(En un paso posterior, calculo los valores promediados sobre estos grupos devueltos, pero supongo que eso no es relevante para mi problema).
El propio DbContext tiene unaDbSet<Measurement>
llamadoMeasurements
sosteniendo todoMeasurement
objetos.
Se me ocurrió la siguiente consulta, que da como resultado una Lista de grupos que está ordenada correctamente pero falta algunos grupos en el medio.
var groupByReference = (from m in context.Measurements
orderby m.CreationTime
group m by new { m.Reference } into g
select g).Take(numOfEntries).ToList();
¿Cómo selecciono los grupos "más recientes" deMeasurement
s correctamente?
Estoy utilizando Entity Framework 4.4 con una base de datos MySQL (MySql Connector / Net 6.6.4). Este ejemplo está simplificado, puedo entrar en más detalles y / o dar un ejemplo si es necesario.
¡Gracias!