动态按实体框架排序

时间:2013-10-28 21:19:01

标签: linq entity-framework

以下查询顺序由于某种原因不进行任何排序。我这样做了吗?它只进行选择,根本不应用任何排序。

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;

        }

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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