以下查询顺序由于某种原因不进行任何排序。我这样做了吗?它只进行选择,根本不应用任何排序。
var orders = (from order in db.GridExampleTable
select order);
switch (sortBy)
{
default: orders.OrderBy(o => o.UnitPrice);
break;
case "CustomerName":
if (sortDir == "asc")
orders.OrderBy(o => o.CustomerName);
else
orders.OrderByDescending(o => o.CustomerName);
break;
}
答案 0 :(得分:3)
您没有收集订单的结果。你需要
orders = orders.OrderBy(o=>o.UnitPrice);
等
答案 1 :(得分:1)
.OrderBy返回一个IOrderedEnumerable,它不会对从查询返回的原始可枚举进行排序。