yangyang

a .NET Developer

Build Dynamic Query


C#表达式树:构建动态查询

前文介绍了C#中表达式树的基本知识,在实际中,表达式树有很多用法,这里举几个例子,说明如何使用表达式树构建动态查询,从而扩展LINQ的查询方法。 在LINQ中,只要数据源实现了IQuerable<T>接口,表达式树就可以用来表示结构化查询。比如,LINQ提供了用来查询关系数据源的IQueryable<T>接口的实现,C#编译器在执行这类数据源查询时,会在运行时生成表达式树,然后,查询会遍历表达式树的数据结构,然后将其转换成针对特定数据源的合适的查询语言。 下面的几个例子演示了如何使用表达式树动态生成查询。 Example 1:动态生成Where和OrderBy 这个例子是MSDN上的例子,平常在C#中我们一般直接写LINQ代码,比如下面这个: companies.Where(company => (company. …

Lambda Expression Expression Trees Build Dynamic Query Safe Databinding

  • 1