小编Wou*_*ter的帖子

LINQ多个订单

我创建了一个具有以下参数的函数:

List<Expression<Func<CatalogProduct, bool>>> orderBy = null
Run Code Online (Sandbox Code Playgroud)

这个参数是可选的,如果它被填充,它应该为我创建一个order by,而不是为我创建一个order,这样我就可以在SQL server上订购结果.

我试过了:

            IOrderedQueryable temp = null;
            foreach (Expression<Func<CatalogProduct, bool>> func in orderBy)
            {
                if (temp == null)
                {
                    temp = catalogProducts.OrderBy(func);
                }
                else
                {
                    temp = temp.ThanBy(func);
                }
            }
Run Code Online (Sandbox Code Playgroud)

但是比没有重新定义.有人知道我怎么能解决这个问题吗?


我将其更改为.ThenBy()但是只允许直接在.OrderBy()之后,而不是在IOrderedQueryable上

so temp = catalogProducts.OrderBy(func).ThenBy(func); 允许但是temp = catalogProducts.OrderBy(func); temp = temp.ThenBy(func); issn't

还有其他建议吗?

c# linq .net-4.0 sql-order-by

4
推荐指数
1
解决办法
2762
查看次数

标签 统计

.net-4.0 ×1

c# ×1

linq ×1

sql-order-by ×1