Estoy seguro de que será relativamente simple.
Tengo una consulta LINQ que deseo 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 he intentado:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
pero esto da un error:
Ninguna 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 hice debería funcionar. He intentado cambiar de descendente a ascendente solo para ver si hace algo pero sigue igual.
Estaría agradecido si alguien pudiera echar un vistazo a la consulta y ver si estoy haciendo algo mal. Gracias :)
fuente
Creo que esto falló primero porque está ordenando un valor que es nulo. Si Delivery es una tabla asociada a una clave externa, debe incluir esta tabla primero, como se muestra a continuación:
fuente
Creo que el segundo debería ser
fuente
Solo para mostrarlo en un formato diferente que prefiero usar por alguna razón: la primera forma devuelve su itemList como System.Linq.IOrderedQueryable
Ese enfoque está bien, pero si lo quieres directamente en un objeto de lista:
Todo lo que tiene que hacer es agregar una llamada .ToList () al final de la consulta.
Algo a tener en cuenta, no puedo recordar si la expresión! (Not) es aceptable en la llamada Where ().
fuente