• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > 编程与数据库 > net编程 >

LINQ那些事儿(4)- Query Expression和Query Operator

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-06-27点击:

 我学习LINQ的时候是直接看MSDN和LINQ team的blog,经常会被里面的一些名词弄混,下面这些名词你都弄懂了吗?

Expression Tree

Expression

Lambda Expression

Query Expression

Query Operator

Expression Tree

和 Expression的区别类似XmlNode和XmlElement的区别。Expression Tree用于表达对IQueryable<T>类型数据源的查询树,是Select/Where/From等多个Query method嵌套,在运行时LINQ2SQL会根据Expression Tree来生成SQL语句。

Expression

确切的说是Expression类,为Expression Tree的每一个节点的基类,并提供了构造不同类型Expression的factory method。在System.Linq.Expression命名空间中提供了多种类型的Expression,经常用到的包括:

Class Description
BinaryExpression 用来表达所有的二元运算,形式为(left) op (right)。如a+b, c && d等。
UnaryExpression 用来表达所有的一元运算,形式为op(operand)。如!a,b++等。
ConstantExpression 用来表达常量或外部变量(不在Expression Tree的控制结构内定义的变量)的定义。
ParameterExpression 用来表达Expression Tree控制结构内的局部变量的定义
MethodCallExpression 用来表达函数的调用
MemberExpression 用来表达属性的访问

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1978130638@qq.com ,  QQ