我喜欢为DRY原因重用表达式,但是如何在LINQ语句中重用表达式?
例如
我有
public static class MyExpressions {
public static Expression<Func<Product,bool>> IsAGoodProduct() {
return (p) => p.Quality>3;
}
}
Run Code Online (Sandbox Code Playgroud)
并且想在LINQ语句中使用它,所以
var goodProds = from p in dataContext.Products
where ????? // how do I use IsAGoodProduct here?
select p;
Run Code Online (Sandbox Code Playgroud)
当然,我可以使用IQueryableExtension.Where函数,但这会使连接和其他函数对于更复杂的查询更加困难.
这是可能的还是LINQ的限制?