Orden LINQ por consulta descendente
Tengo una consulta LINQ que quiero ordenar por la fecha de creación más reciente.
Lo intenté:
var itemList = from t in ctn.Items
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
También he probado:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
pero esto da un error:
No overload for method 'OrderByDescending' takes 0 arguments
Por lo que he leído, la primera forma debería funcionar. Intenté cambiar descending
a ascending
solo para ver si hace algo, pero sigue igual.
¿Qué estoy haciendo mal?
Aceptado
Debe elegir una propiedad para ordenar y pasarla como una expresión lambda aOrderByDescending
como:
.OrderByDescending(x => x.Delivery.SubmissionDate);
Realmente, aunque la primera versión de su declaración LINQ debería funcionar. ¿ Está t.Delivery.SubmissionDate
realmente poblado con fechas válidas?
Creo que esto falló primero porque está solicitando un valor que es nulo. Si la entrega es una tabla asociada a una clave externa, primero debe incluir esta tabla, como se muestra a continuación:
var itemList = from t in ctn.Items.Include(x=>x.Delivery)
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;