desc c# linq sql-order-by

c# - LINQ Orderby Consulta Descendente



order by date c# (4)

Estoy seguro de que esto será relativamente simple.

Tengo una consulta LINQ que quiero ordenar antes de 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 siendo el mismo.

Estaría agradecido si alguien pudiera echar un vistazo a la consulta y ver si estoy haciendo algo mal. Gracias :)


Creo que el segundo debe ser

var itemList = (from t in ctn.Items where !t.Items && t.DeliverySelection select t).OrderByDescending(c => c.Delivery.SubmissionDate);


Creo que esto falló primero porque estás ordenando valor que es nulo. Si la Entrega es una tabla asociada a una clave externa, debe incluir esta tabla primero, ejemplo 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;


Solo para mostrarlo en un formato diferente que prefiero usar por alguna razón: La primera forma devuelve su itemList como un System.Linq.IOrderedQueryable

using(var context = new ItemEntities()) { var itemList = context.Items.Where(x => !x.Items && x.DeliverySelection) .OrderByDescending(x => x.Delivery.SubmissionDate); }

Ese enfoque está bien, pero si lo quisieras directamente en un objeto de lista:

var itemList = context.Items.Where(x => !x.Items && x.DeliverySelection) .OrderByDescending(x => x.Delivery.SubmissionDate).ToList();

Todo lo que tiene que hacer es adjuntar una llamada .ToList () al final de la consulta.

Algo a tener en cuenta, desde la parte superior de mi cabeza, no puedo recordar si la expresión! (Not) es aceptable en la llamada Where ().


OrderByDescending elegir una propiedad para ordenar y pasarla como una expresión lambda a OrderByDescending

me gusta:

.OrderByDescending(x => x.Delivery.SubmissionDate);

Realmente, aunque la primera versión de su declaración LINQ debería funcionar. ¿Se t.Delivery.SubmissionDate con fechas válidas?