OrderBy with Linq.Expression

本文关键字:Expression Linq with OrderBy | 更新日期: 2023-09-27 18:36:15

>我在创建排序表达式时遇到问题。

我有一个类型 Expression<Func<Products, bool>> 的表达式,它已经包含一个查询表达式。我想进行查询排序,但没有成功。

下面,在CreateSortExpression方法中有一个错误:

private Expression<Func<Products, bool>> CreateOrderQuery(Expression<Func<Products, bool>> condition, descriptorOrder item)
{        
    condition= condition.AndAlso(CreateSortExpression(item.PropertyName));        
    return condition;
}
private Expression<Func<Products, bool>> CreateSortExpression(string p)
{
    Expression<Func<Products, bool>> condition = products => 
          p.OrderBy(products.Options.price);
    return condition;
}

错误消息"System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable, System.Func)"无法从用法中推断出来。尝试显式指定类型参数。

有没有人经历过这个可以帮助我?谢谢。

OrderBy with Linq.Expression

您正在尝试构建一个表达式以传递给OrderBy()
您不想在该表达式中调用OrderBy();你会想要类似p => p.Something