你的位置:首页 > 软件开发 > ASP.net > 通过LINQ表达式树动态构建查询条件

通过LINQ表达式树动态构建查询条件

发布时间:2015-03-21 00:00:21
第一种方法:public static class PredicateExtensions { public static Expression<Func<T, bool>> True<T>() { return f => tru ...

第一种方法:

public static class PredicateExtensions  {    public static Expression<Func<T, bool>> True<T>() { return f => true; }    public static Expression<Func<T, bool>> False<T>() { return f => false; }    public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> expression1,      Expression<Func<T, bool>> expression2)    {      var invokedExpression = Expression.Invoke(expression2, expression1.Parameters          .Cast<Expression>());      return Expression.Lambda<Func<T, bool>>(Expression.Or(expression1.Body, invokedExpression),      expression1.Parameters);    }    public static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> expression1,        Expression<Func<T, bool>> expression2)    {      var invokedExpression = Expression.Invoke(expression2, expression1.Parameters         .Cast<Expression>());      return Expression.Lambda<Func<T, bool>>(Expression.And(expression1.Body,          invokedExpression), expression1.Parameters);    }  }

原标题:通过LINQ表达式树动态构建查询条件

关键词:linq

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。