如何在连接查询中使用动态字符串参数顺序执行OrderBy

时间:2015-10-13 00:13:08

标签: c# mysql linq join sql-order-by

我想这样做:

var test = SqlCompact("OrderID", "ASC")

因此,这应按订单ID对以下连接查询进行排序:

var result = (from od in orders
        join em in employees on od.EmployeeID equals em.EmployeeID
        join ct in customers on od.CustomerID equals ct.CustomerID
        //orderby em.EmployeeID
        select new
        {
            od.OrderID,
            od.ShipCountry,
            ct.CompanyName,
            ct.ContactName,
            FullName = em.FirstName + ' '+ em.LastName, 
        }).ToList();

我的尝试:

var result2 = result.ToList();
if (sort == "OrderID"){
 result2 = result.OrderBy("OrderID");
}

但我收到错误:

  

' System.Collections.Generic.List'不包含' OrderBy'的定义和最好的扩展方法重载' System.Linq.Dynamic.DynamicQueryable.OrderBy(System.Linq.IQueryable,string,params object [])'有一些无效的论点

1 个答案:

答案 0 :(得分:1)

这个怎么样

var result2 = result.ToList();
if (sort == "OrderID"){
 result2 = result.OrderBy(x=>x.OrderID).ToList();
}