mio LINQ è qualcosaOrderByDescending con Skip e Take a LINQ mostra errore
GetPublishedArticleList().Where(x => x.Category.CatName == catName).OrderByDescending(x=>x.PublishedDate).Skip(skip).Take(last);
sto ottenendo seguente eccezione quando il codice di cui sopra viene eseguito
"Il metodo 'Skip' è supportato solo per l'ingresso ordinato in LINQ su Entities Il metodo 'OrderBy' deve essere chiamato prima del metodo 'Skip'.
Bene, voglio che LINQ capisca che ho bisogno di ordinare i dati in ordine decrescente e poi applicare Skip and Take. (bene il codice sopra funziona quando OrderByDescending è sostituito da O rderBy)
Qualcuno può suggerirmi un'alternativa?
Potresti chiamare prima? Questo ti restituirà un oggetto IEnumerable (da un IOrderedQueryable) sul quale puoi chiamare Skip. Se ciò causerà problemi con i tuoi dati, potresti cambiarlo in "Take (saltare + ultima) .Skip (salta)" – John
Wow - è davvero strano. Sembra * un bug per me ... –
@John: No, chiamare 'Take' per prima cosa interromperà i risultati ... e il punto è che qui abbiamo un 'IOrderedQueryable', non un' IOrderedEnumerable' - stiamo cercando di ridurre la quantità di dati trasferiti dal database. –