Resumen: Como llegar arriba 1 elemento en ordenados grupos de datosObtener el primer registro de un grupo en LINQ?
Estoy intentando agrupar por un campo Carid, y luego dentro de cada grupo, que desea ordenar en un campo descendente datetimestamp. Los datos deseados serían para cada automóvil darme el último DateTimeStamp y solo ese 1 en el grupo.
Puedo llegar a este punto, pero tengo problemas para tomar el top 1 del grupo y ordenar el grupo por DateTimeStamp desc.
Aquí es lo que tengo después de la primera operación de grupo:
group 1
------------------------
CarId DateTimeStamp
1 1/1/2010
1 1/3/2010
1 3/4/2010
group 2
------------------------
CarId DateTimeStamp
2 10/1/2009
2 1/3/2010
2 9/4/2010
lo que yo deseo sólo la parte superior 1 en un grupo ordenado
group 1
------------------------
CarId DateTimeStamp
1 3/4/2010
group 2
------------------------
CarId DateTimeStamp
2 9/4/2010
Brickwall: Dónde Me detengo, necesito el CarId y DateTimeStamp en la cláusula group by para ordenar más adelante por DateTimeStamp. Tal vez la clasificación de la fecha se debe hacer en una función separada, no estoy seguro.
¡Eso lo hizo! Obtuve una excepción y tuve que usar FirstOrDefault() en lugar de First(). ¡Gracias! – RyBolt
+1: Perfecto. Justo lo que necesitaba (una versión de agrupación y primer registro que realmente puedo seguir :) –
gracias, estaba buscando esto, busqué 'grupo sql por último registro' pero no encontré solución' grupo linq por último registro' Ayudó a venir aquí, solo necesito, tengo que hacerlo 'mecanografiado' para 'ViewModel' – stom