我喜欢为了DRY的原因重用表达式,但是如何在LINQ语句内重用表达式呢?
例如:
我有:
public static class MyExpressions {
public static Expression<Func<Product,bool>> IsAGoodProduct() {
return (p) => p.Quality>3;
}
}
我希望能在LINQ语句中使用它,因此
var goodProds = from p in dataContext.Products
where ????? // how do I use IsAGoodProduct here?
select p;
当然,我可以使用IQueryableExtension.Where函数,但对于更复杂的查询,这将使连接和其他函数变得更加丑陋。这是否可能或是LINQ的限制?