Linq中的Expression(表达式树)之个人见解

Expression属于System.Linq.Expression命名空间下。

ask:Expression是什么?

answer:Expression是表达式树

ask:表达式树用来干什么?

answer:表达式树提供一个将可执行代码转换成数据结构的方法,我们可以把它理解为一种数据结构。

ask:可执行代码指什么?

answer:可执行代码其实就是指C#代码,例:lambda表达式是可执行代码、LINQ查询表达式也是可执行代码

ask:表达式树价值体现在什么地方?

answer:在LINQ中,我们使用Linq查询表达式来从数据库中获取数据,很显示,数据库并不认识LINQ语法,它只认识SQL语句,这时表达式树就派上用场了,它将LINQ查询表达式解析成一个数据结构,再对数据结构进行分析,进而组合成SQL数据库需要的SQL语句。

posted @ 2011-02-07 15:47  [曾恩]  阅读(631)  评论(0编辑  收藏  举报