2011-02-08 46 views

回答

2

我建议您在MSDN上阅读Expression Trees

当使用IQueryable<T>时,它们最常用于LINQ,即:LINQ to Sql或实体框架等。传递给LINQ查询的lambda表达式转换为表达式树,这是一种“在树状数据结构中表示代码”的方式。

这允许有问题的提供者将其转换为实际的SQL数据库调用,因为它可以解析表达式树并将其转换为数据库本身理解的内容。

这就是说,这也可以在其他地方使用。无论何时您需要表示“代码”并构建它,您都可以使用表达式树。例如,这通常用于implement INotifyPropertyChanged without requiring strings to be passed

相关问题