Tengo una tabla, 'lasttraces', con los siguientes campos.
Id, AccountId, Version, DownloadNo, Date
Los datos se ven así:
28092|15240000|1.0.7.1782|2009040004731|2009-01-20 13:10:22.000
28094|61615000|1.0.7.1782|2009040007696|2009-01-20 13:11:38.000
28095|95317000|1.0.7.1782|2009040007695|2009-01-20 13:10:18.000
28101|15240000|1.0.7.1782|2009040004740|2009-01-20 14:10:22.000
28103|61615000|1.0.7.1782|2009040007690|2009-01-20 14:11:38.000
28104|95317000|1.0.7.1782|2009040007710|2009-01-20 14:10:18.000
¿Cómo puedo, en LINQ to SQL , obtener solo el último rastro de cada AccountId (el que tiene la fecha más alta)?
c#
.net
linq
linq-to-sql
Bas Jansen
fuente
fuente
Respuestas:
Si solo desea la última fecha para cada cuenta, usaría esto:
Si quieres el registro completo:
fuente
method-chain
solución para esto.(from n in table ...).First()
?First()
llamada debe aplicarse a lag.Order...
expresión (subconsulta).Aquí tienes una forma sencilla de hacerlo
También eche un vistazo a este gran lugar de LINQ : ejemplos de LINQ to SQL
fuente
Si desea el registro completo, aquí hay una forma lambda:
fuente
Podría ser algo como:
fuente
Vaya a una forma sencilla de hacer esto: -
Creó una clase para contener la siguiente información
Vaya a la lista de sitios almacenados en un objeto ArrayList. Y ejecutó la siguiente consulta para ordenarla en orden descendente por Nivel.
Una vez que obtuve la colección ordenada en orden descendente, escribí el siguiente código para obtener el Objeto que viene como fila superior
Esto funcionó a las mil maravillas.
fuente