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

How can I do an OrderBy with a dynamic string parameter order on a join query

我想这样做:

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' does not contain a definition for 'OrderBy' and the best extension method overload 'System.Linq.Dynamic.DynamicQueryable.OrderBy(System.Linq.IQueryable, string, params object[])' has some invalid arguments

这个怎么样

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