エンドユーザーが返されたレポートの並べ替え順序で複数のフィールドを選択できるレポートインターフェイスがあります。私が抱えている問題は、ソートフィールドのリストを反復処理しているため、OrderBy/ThenByメソッドを実際にチェーンできないことです。私はこのようなことを考えています:
foreach (string sort in data.SortParams)
{
switch (sort)
{
case "state":
query = query.ThenBy(l => l.RegionCode);
break;
case "type":
query = query.ThenBy(l => l.Type);
break;
case "color":
query = query.ThenBy(l => l.Color);
break;
case "category":
query = query.OrderBy(l => l.Category);
break;
}
}
(注:わかりやすくするために、これが最初の並べ替えアイテムであるかどうかを判断するスイッチを削除しました。)
コレクションを反復処理して並べ替え順序を決定する方法について何か考えはありますか?