Estoy seguro de que esto será relativamente sencillo.
Tengo una consulta LINQ que quiero ordenar por la fecha de creación más reciente.
Ver:
var itemList = from t in ctn.Items
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
También lo he intentado:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
pero esto da un error :
No hay sobrecarga para el método 'OrderByDescending' toma 0 argumentos
Por lo que he leído, estoy bastante seguro de que la primera forma en que lo he hecho debería funcionar. He probado a cambiar descendente por ascendente sólo para ver si hace algo, pero sigue igual.
Agradecería que alguien pudiera echar un vistazo a la consulta y ver si estoy haciendo algo mal. Gracias :)
Tienes que elegir una propiedad por la que ordenar y pasarla como expresión lambda a OrderByDescending
como:
.OrderByDescending(x => x.Delivery.SubmissionDate);
Realmente, aunque la primera versión de tu sentencia LINQ debería funcionar. ¿Está t.Delivery.SubmissionDate
realmente poblado con fechas válidas?
Creo que este primer fallo se debe a que está ordenando un valor que es nulo. Si Delivery es una tabla asociada con una clave extranjera, entonces debe incluir esta tabla primero, ejemplo abajo:
var itemList = from t in ctn.Items.Include(x=>x.Delivery)
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;