c# 拼接lambda表达式 (转载)
生活随笔
收集整理的這篇文章主要介紹了
c# 拼接lambda表达式 (转载)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
項(xiàng)目中用到,找不到出處了
1. 添加類:
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);}}?
2. 用法:
Expression<Func<XXX, bool>> expression = t => true;expression = expression.And(t => t.AAA == 1);expression = expression.And(t => t.BBB > 1);var ds = products.AsQueryable().Where(expression).ToList();轉(zhuǎn)載于:https://www.cnblogs.com/paopaohui/p/7885954.html
總結(jié)
以上是生活随笔為你收集整理的c# 拼接lambda表达式 (转载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 分布式监控报警平台Centreon之:C
- 下一篇: 30秒缓存