Expression<Func<TObject, bool>>与Func<TObject, bool>的区别
2017-03-30 00:00
351 查看
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
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
相关文章推荐
- Expression<Func<TObject, bool>>与Func<TObject, bool>的区别
- Expression<Func<T, bool>>与Func<T, bool>的区别
- Expression<Func<T, bool>>与Func<T, bool>的区别
- EF学习和使用(八)你必须知道的效率问题根源之Expression<Func<TObject, bool>>与Func<TObject, bool>
- Expression<Func<int, bool>>与<Func<int, bool>
- 拉姆达表达式 追加 条件判断 Expression<Func<T, bool>>
- 表达式拼接Expression<Func<IEntityMapper, bool>> predicate
- .NET Core中合并Expression<Func<T,bool>>的正确姿势
- 多条件Expression<Func<T, bool>>
- 拉姆达表达式 追加 条件判断 Expression<Func<T, bool>>
- Expression<Func<T, bool>>拼接查询条件
- expression<Func<object,Bool>> 及 Func<oject,bool>用法
- Expression<Func<T,TResult>>和Func<T,TResult>的区别
- 拉姆达表达式 追加 条件判断 Expression<Func<T, bool>>
- C#中Predicate<T>与Func<T, bool>泛型委托的用法实例
- Func<T, bool> Func<T, object>小例子
- Queryable.GroupBy<TSource, TKey> 方法 (IQueryable<TSource>, Expression<Func<TSource, TKey>>) 转
- Expression<Func<T,TResult>>和Func<T,TResult>
- 转自pnljs 委托(Func<int,bool>)
- Expression<Func<T,TResult>>和Func<T,TResult> 与AOP与WCF