我有一个报告界面,最终用户可以在其中为返回的报告的排序顺序选择多个字段。我遇到的问题是我无法真正链接 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;
}
}
(注意:为简单起见,我删除了确定这是否是第一个排序项的开关。)
关于如何遍历集合以确定排序顺序的任何想法?