EntityFramework - Func<TObject, bool> 与 Expression<Func<TObject, bool>>

Func<TObject, bool> 是委托类型

在 EF 使用 委托类型的表达式进行筛选数据的时候,

其原理是 一步步 分解和执行表达式中的内容.

比如 Func<Tobject, bool> = w => w.Name = "somebody" && w.Age = 10;

第一步会先筛选所有的数据,

第二部会先筛选 Name = "somebody" 的数据

第三部再筛选 Age = 10 的数据

 

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

在使用 EF 表达式查询的时候

只会生成一次查询

带来的缺陷是.

在表达式类型的表达式中, 不能带有 C# 方法.

其需要在表达式外部先定义需要的变量 再带入到表达式中

posted @ 2016-08-16 15:52  `Laimic  阅读(258)  评论(0)    收藏  举报