博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Entity Framework Linq 动态组合where条件
阅读量:6425 次
发布时间:2019-06-23

本文共 1313 字,大约阅读时间需要 4 分钟。

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

用法: 

Expression
> expression = PredicateExtensions.True
();expression = expression.And(x=> x.Name == "ABC");expression = expression.Or(x=> x.Name == "XYZ");expression = expression.Not();

 

转载于:https://www.cnblogs.com/JasonBie/p/5112045.html

你可能感兴趣的文章
关于RFC
查看>>
juery 选择器 选择多个元素
查看>>
【新手向】TensorFlow 安装教程:RK3399上运行谷歌人工智能
查看>>
Oracle Net Configuration(监听程序和网络服务配置)
查看>>
c语言_判断例子
查看>>
ubuntu重启不清除 /tmp 设置
查看>>
面向对象
查看>>
JSON
查看>>
SAP发布wbservice,如果有权限管控的话,需要给这个webservice加权限
查看>>
16.Python网络爬虫之Scrapy框架(CrawlSpider)
查看>>
stm 常用头文件
查看>>
mac 删除文件夹里所有的.svn文件
查看>>
程序制作 代写程序 软件定制 代写Assignment 网络IT支持服务
查看>>
mysql 案例~select引起的性能问题
查看>>
直接读取图层
查看>>
springsecurity 源码解读 之 RememberMeAuthenticationFilter
查看>>
HTML5标准学习 - 编码
查看>>
JS 时间戳转星期几 AND js时间戳判断时间几天前
查看>>
UVa11426 最大公约数之和(正版)
查看>>
mime
查看>>