Tiene que haber un trazador de líneas para hacer esto, y simplemente no puedo encontrarlo.Agrupe los elementos y seleccione elementos específicos de cada grupo con LINQ
Teniendo en cuenta esta consulta:
from x in new XPQuery<XPContent>(s)
select new { x.Category, x.ContentType, x.Name, x.ContentID, x.Date }
necesito para seleccionar el registro con la fecha grande para cada ContentID distinta. ¿Se puede hacer esto inteligentemente con LINQ? En este momento estoy haciendo esto:
var q = (from x in new XPQuery<XPContent>(s)
select new { x.Category, x.ContentType, x.Name, x.ContentID, x.Date }).ToList();
var r = q.ToLookup(item => item.ContentID);
foreach (var rItem in r) {
var s = rItem.OrderByDescending(a => a.Date).First();
/* do stuff with s */
}
... pero el ToLookup se siente un poco torpe. ¿O tengo la mejor solución (la más simple)?
Además, sé que no debería usar ToList, pero ignórelo por el momento.
¡Gracias de antemano!
Nunca he sabido de 'dejar' - gracias! –