私はsortパラメータをチェックし、if
文の束を構築しています:このソートコードを改善するにはどうすればよいですか?
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();
}
は、どのように私はこれを改善するのですか?
「より良い」と定義します。何のために良い? – Oded
どのようにして "改善"したいですか?意図したとおりに動作しませんか?それは遅すぎますか?コードがどのように構造化されているのが好きではありませんか?ここにはさらに詳しい情報が必要です。 –
私はLINQ構成を使用することをお勧めします。 http://stackoverflow.com/questions/5881107/how-can-i-build-entity-framework-queries-dynamically/5882243#5882243 – Euphoric