如何在连接查询中使用动态字符串参数顺序执行 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();
}
我想这样做:
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();
}