相关疑难解决方法(0)

如何在LINQ语句中重用表达式?

我喜欢为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的限制?

c# linq lambda

20
推荐指数
2
解决办法
5608
查看次数

标签 统计

c# ×1

lambda ×1

linq ×1