Sono sicuro che questo sarà relativamente semplice.
Ho una query LINQ che voglio ordinare per la data di creazione più recente.
Vedi:
var itemList = from t in ctn.Items
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
Ho anche provato:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
ma questo dà un errore:
Nessun sovraccarico per il metodo 'OrderByDescending' richiede 0 argomenti
Da quello che ho letto, sono abbastanza sicuro che il primo modo in cui l'ho fatto dovrebbe funzionare. Ho provato a cambiare descending in ascending solo per vedere se fa qualcosa, ma rimane lo stesso.
Sarei grato se qualcuno potesse dare un'occhiata alla query e vedere se sto facendo qualcosa di sbagliato. Grazie :)
Dovete scegliere una proprietà da ordinare e passarla come espressione lambda a OrderByDescending
, come:
.OrderByDescending(x => x.Delivery.SubmissionDate);
Davvero, anche se la prima versione della tua dichiarazione LINQ dovrebbe funzionare. La t.Delivery.SubmissionDate
è effettivamente popolata con date valide?
Penso che questo primo non sia riuscito perché stai ordinando un valore che è nullo. Se Delivery è una tabella associata a una chiave esterna, allora dovresti includere questa tabella per prima, esempio qui sotto:
var itemList = from t in ctn.Items.Include(x=>x.Delivery)
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;