una ultimo ultima seleccionar registro reciente obtener mayor mas lista fecha con c# .net linq linq-to-sql

c# - ultimo - select fecha mas reciente sql



Cómo seleccionar solo los registros con la fecha más alta en LINQ (5)

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 la última última ruta de cada AccountId (la que tiene la fecha más alta)?


Aquí hay una manera simple de hacerlo

var lastPlayerControlCommand = this.ObjectContext.PlayerControlCommands .Where(c => c.PlayerID == player.ID) .OrderByDescending(t=>t.CreationTime) .FirstOrDefault();

También eche un vistazo a este gran lugar LINQ - Ejemplos de LINQ a SQL


Podría ser algo así como:

var qry = from t in db.Lasttraces group t by t.AccountId into g orderby t.Date select new { g.AccountId, Date = g.Max(e => e.Date) };


Si quieres el registro completo, aquí hay una forma lambda:

var q = _context .lasttraces .GroupBy(s => s.AccountId) .Select(s => s.OrderByDescending(x => x.Date).FirstOrDefault());


Si solo quiere la última fecha para cada cuenta, debería usar esto:

var q = from n in table group n by n.AccountId into g select new {AccountId = g.Key, Date = g.Max(t=>t.Date)};

Si quieres el registro completo:

var q = from n in table group n by n.AccountId into g select g.OrderByDescending(t=>t.Date).FirstOrDefault();


Vaya una manera simple de hacer esto: -

Creó una clase para contener la siguiente información

  • Nivel (número)
  • Url (URL del sitio)

Vaya a la lista de sitios almacenados en un objeto ArrayList. Y se ejecuta la siguiente consulta para ordenarlo en orden descendente por nivel.

var query = from MyClass object in objCollection orderby object.Level descending select object

Una vez que obtuve la colección ordenada en orden descendente, escribí el siguiente código para obtener el objeto que se encuentra en la fila superior

MyClass topObject = query.FirstRow<MyClass>()

Esto funcionó como el encanto.