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

时间:2011-06-11 23:46:13

标签: c# linq dynamic iqueryable

我使用方法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")

虽然上述方法不起作用。 是否可以像这样传递函数?

1 个答案:

答案 0 :(得分:0)

你可能会这样做:

products.Where("Rank(@0) == 0", new Func<Product, double>(p => p.Price));