0

以下 order by query 出于某种原因不进行任何排序。我这样做正确吗?它只进行选择,根本不应用排序。

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;

        }
4

2 回答 2

3

您没有收集订单的结果。你需要

orders = orders.OrderBy(o=>o.UnitPrice);

等等

于 2013-10-28T21:24:04.597 回答
1

.OrderBy 返回一个 IOrderedEnumerable,它不对查询返回的原始枚举进行排序。

于 2013-10-28T21:22:38.220 回答