mam sprawdzanie parametr sortowania i budowania kilka if
oświadczenia:Jak mogę poprawić ten kod sortowania?
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();
}
Jak zrobić to lepiej?
Zdefiniuj "lepiej". Lepiej na co? – Oded
W jaki sposób chcesz go "ulepszyć"? Czy to nie działa zgodnie z przeznaczeniem? Czy to zbyt wolno? Czy nie podoba ci się struktura kodu? Potrzebujemy więcej informacji tutaj. –
Polecam używanie kompozycji LINQ. Zobacz http://stackoverflow.com/questions/5881107/how-can-i-build-entity-framework-queries-dynamically/5882243#5882243 – Euphoric