C# 中,表达式树 Expression<Func<TEntity, bool>> 和委托 CriteriaDelegate 之间的区别

  1. 表达式树是一个描述lambda表达式结构的数据结构;

  2. 表达式树可以被编译(编译时)成中间语言(IL),或者被编译成其它语言如SQL;

  3. 表达式树不是一个可直接执行的代码,是一个可以被分析和转换的表达式描述(表达式树不可直接执行);

  4. 委托是一个方法引用,可以直接被调用来执行代码;

  5. 委托通常在内存中直接执行操作,不可用于生成在其他上下文(如数据库)中执行的代码;

  6. ORM中,表达式树使得能够将C#代码转换为有效的数据库查询语句,委托不具备这种能力

文章作者: Administrator
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 北溟鱼的博客
喜欢就支持一下吧