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

使用EntityFramework中where查询时,fiter可以是Expression<Func<TObject, bool>>,或者Func<TObject, bool>。网上查了很多资料,还是一知半解、一头雾水,求高手赐教!还有就是如何将多个Expression合并为一个呢?

慕哥6287543
浏览 550回答 4
4回答

哈士奇WWW

Func和Expresion<Func>可以说是类似的,不过,他们有个本质的区别: 在查询里使用EXPRESSION会适当的生成到SQL语句中,而Func则不会。 至于如何构建一个Expression,如果只是简单的,那么直接使用Func替代(也可以直接强制转换,默认下,对简单的,可以SQL语句实现的表达式会当作Expression,否则当作Func) 其它的构造方式,参考: Linq表达式树问题 关于Expression<Func<T, TResult>>

料青山看我应如是

Expression,如果只是简单的,那么直接使用Func替代(也可以直接强制转换,默认下,对简单的,可以SQL语句实现的表达式会当作Expression,否则当作
打开App,查看更多内容
随时随地看视频慕课网APP