为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕哥6287543 2018-12-06 14:44:40
使用EntityFramework中where查询时,fiter可以是Expression<Func<TObject, bool>>,或者Func<TObject, bool>。网上查了很多资料,还是一知半解、一头雾水,求高手赐教!还有就是如何将多个Expression合并为一个呢?
查看完整描述

4 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

Func和Expresion<Func>可以说是类似的,不过,他们有个本质的区别:

在查询里使用EXPRESSION会适当的生成到SQL语句中,而Func则不会。

至于如何构建一个Expression,如果只是简单的,那么直接使用Func替代(也可以直接强制转换,默认下,对简单的,可以SQL语句实现的表达式会当作Expression,否则当作Func)

其它的构造方式,参考:

Linq表达式树问题

关于Expression<Func<T, TResult>>

查看完整回答
反对 回复 2019-01-21
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

Expression,如果只是简单的,那么直接使用Func替代(也可以直接强制转换,默认下,对简单的,可以SQL语句实现的表达式会当作Expression,否则当作

查看完整回答
反对 回复 2019-01-21
  • 4 回答
  • 0 关注
  • 549 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信