LINQ 中的表达式树

更新:2007 年 11 月

在 LINQ 中,表达式树用于表示针对数据源的结构化查询,这些数据源实现 IQueryable<T>。例如,LINQ to SQL 提供程序实现 IQueryable<T> 接口,用于查询关系数据存储。C# 和 Visual Basic 编译器会将针对此类数据源的查询编译为代码,该代码在运行时将生成一个表达式树。然后,查询提供程序可以遍历表达式树数据结构,并将其转换为适合于数据源的查询语言。

表达式树还可以用在 LINQ 中,用于表示分配给类型为 Expression<TDelegate> 的变量的 Lambda 表达式。

表达式树还可用于创建动态 LINQ 查询。有关更多信息,请参见如何:使用表达式树来生成动态查询。如果要生成 LINQ 提供程序,您也可以使用表达式树。有关更多信息,请参见演练:创建 IQueryable LINQ 提供程序

请参见

任务

如何:执行表达式目录树

如何:修改表达式目录树

概念

表达式目录树