Sto controllando il parametro ordinamento e la costruzione di una serie di if
dichiarazioni:Come posso migliorare questo codice di classificazione?
if (sortDirection == "ASC")
{
if (sortBy == "Id")
return customerList.OrderBy(x => x.Id).Skip(startIndex).Take(pageSize).ToList();
if (sortBy == "FirstName")
return customerList.OrderBy(x => x.FirstName).Skip(startIndex).Take(pageSize).ToList();
if (sortBy == "City")
return customerList.OrderBy(x => x.City).Skip(startIndex).Take(pageSize).ToList();
}
else
{
if (sortBy == "Id")
return customerList.OrderByDescending(x => x.Id).Skip(startIndex).Take(pageSize).ToList();
if (sortBy == "FirstName")
return customerList.OrderByDescending(x => x.FirstName).Skip(startIndex).Take(pageSize).ToList();
if (sortBy == "City")
return customerList.OrderByDescending(x => x.City).Skip(startIndex).Take(pageSize).ToList();
}
Come faccio questo meglio?
Definire "migliore". Meglio per cosa? – Oded
In che modo vuoi "migliorarlo"? Non funziona come previsto? È troppo lento? Non ti piace come è strutturato il codice? Abbiamo bisogno di maggiori informazioni qui. –
Vorrei raccomandare l'uso della composizione LINQ. Vedi http://stackoverflow.com/questions/5881107/how-can-i-build-entity-framework-queries-dynamically/5882243#5882243 – Euphoric