在System.Linq.Dynamic.DynamicQueryable中使用带有func参数的方法

问题描述

| 我正在使用Rank方法,通过一些自定义逻辑来获得产品的排名,如下所示:
product.Rank(p=>p.Price);

public class Product
{
     public double Price {get;}
     public int Rank(Func<Product,double> compfunc)
     {
     ...
     }
}
我想在使用扩展库
System.Linq.Dynamic.DynamicQueryable
的where子句中使用此方法 例如:
products.Where(\"Rank(p=>p.Price) == 0\")
尽管以上方法无效。 是否可以通过这样的功能?     

解决方法

        您可能可以这样做:
products.Where(\"Rank(@0) == 0\",new Func<Product,double>(p => p.Price));