我知道如何构造 WHERE 子句,但由于某种原因,我无法构造 order by 子句。
IQueryable<ShowList> query = from s in db.ShowList select s;
if (title != null)
{
query = query.Where(s => s.Title == title);
}
这就是事情不对劲的地方。我让用户可以选择他们想要排序的列以及他/她想要的是 DESC 还是 ASC。我认为我在 OrderBy() 内部做错了什么。
“orderBy”变量是来自用户的输入,“order”变量也是来自用户的输入。
“orderBy”应该是列名,“order”将是“desc”或“asc”
if (orderBy != null && order != null)
{
switch (order)
{
case "asc":
query = query.OrderBy(s => orderBy);
break;
case "desc":
query = query.OrderByDescending(s => orderBy);
break;
default:
query = query.OrderBy(s => orderBy);
break;
}
}
return query.ToList();
谁能告诉我我做错了什么?