文档章节

Expression<Func<TObject, bool>>与Func<TObject, bool>的区别

wen1512
 wen1512
发布于 2017/03/30 10:05
字数 175
阅读 9
收藏 0

Func<TObject, bool>是委托(delegate)

Expression<Func<TObject, bool>>是表达式

Expression编译后就会变成delegate,才能运行。比如

Expression<Func<int, bool>> ex = x=>x < 100;

Func<int, bool> func = ex.Compile(); 

然后你就可以调用func:

func(5) //-返回 true

func(200) //- 返回 false

而表达式是不能直接调用的。

===========================

案例:不正确的查询代码造成的数据库全表查询。

上面代码逻辑是根据条件动态生成LINQ查询条件,将Func类型的变量作为参数传给Where方法。

实际上Where要求的参数类型是:Expression<Func<TSource, bool>>。

解决方法:

不要用Func<TSource, bool>,用Expression<Func<TSource, bool>>。

转自:http://www.cnblogs.com/wow-xc/articles/4952233.html

© 著作权归作者所有

wen1512
粉丝 1
博文 38
码字总数 32057
作品 0
大庆
高级程序员
私信 提问
也说Linq动态条件查询

1,构造表达式树 private Expression> getCondition() { Expression> expression = blog => true; if (!String.IsNullOrEmpty(Request["BlogClassID"])) { int blogClassID; if (Int32.TryP......

吞吞吐吐的
2017/08/31
0
0
继LINQ动态组合查询PredicateExtensions讲解

在LINQ动态组合查询中我留下了一个问题就是PredicateExtensions。在这里很简单不需要什么多的基础只要比会And、Or逻辑运算数学知识就够了。 先贴上代码好分析: 代码 public static class Pr...

zting科技
2017/01/10
0
0
BIM工程信息管理系统-EF实体框架数据操作基类

EF实体框架数据操作基类主要是规范增、改、查、分页、Lambda表达式条件处理,以及异步操作等特性,这样能够尽可能的符合基类这个特殊类的定义,实现功能接口的最大化重用和统一。 1、程序代码...

在 水 一 方
08/01
0
0
BCB中的RTTI机制

BCB中的RTTI机制 RTTI在BCB中其实有两个意义。首先,针对一般标准的C++中所定义的,RTTI是所谓的Run-Time Type Identification的缩写。传统的程序语言中,所谓的数据型态仅在Compile-Time有所...

狂斩一条龙
2011/04/10
0
0
C#/.Net操作MongoDBHelper类

先 NuGet两个程序集 1:MongoDB.Driver、 2:MongoDB.Bson namespace ConsoleApp1 { /// /// MongoDb帮助类 /// /// /// MongoDb帮助类 /// public class DB { private static readonly string......

朽木刻雕
07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【2019年8月版本】OCP 071认证考试最新版本的考试原题-第9题

Choose three Which three statements are true about views in an Orade batabase? A) A SELECT statement cannot contain a where clause when querying a view contaning a WHERE clause ......

oschina_5359
17分钟前
3
0
[JSON].connectionValue()

本文转载于:专业的前端网站➭[JSON].connectionValue() 语法: [JSON].connectionValue() 说明: 将对象的所有键值接连成新的字符串值 返回: [String] 示例: Set a = toJson()c = Array(1,2,...

前端老手
19分钟前
2
0
云计算给大数据分析工具带来了什么

如果大数据是一块蛋糕,那么大数据分析工具就是切蛋糕的刀叉。人们都期待着能用“刀叉”从大数据中挖出自己想要的“价值”,因此大数据分析工具被人们寄予厚望。而云计算技术的兴起似乎又给大...

青果云小潘
20分钟前
3
0
centOS7下es的使用

安装启动es7.4.0 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.4.0docker run -d -p 9200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elast......

无畏的老巨人
28分钟前
3
0
iptables删除命令中的相关问题

最近在做一个中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关命令会提示错误。iptables: Bad rule (does a matching rule exist in t...

xiangyunyan
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部