【发布时间】:2010-03-28 16:40:58
【问题描述】:
我对表达式树的理解是:
表达式树是算术或布尔表达式等表达式的内存表示。表达式存储在解析树中。因此我们可以轻松翻译成任何其他语言。
Linq to SQL 使用表达式树。通常在LINQ to SQL 查询中,编译器将其转换为解析的表达式树。这些作为 T-SQL 语句传递给 Sql Server。Sql 服务器执行 T-SQL 查询并向下发送结果回来了。这就是为什么当你执行LINQ to SQL你得到IQueryable<T>而不是IEnumetrable<T>。因为IQuerybale包含
public IQueryable:IEnumerable
{
Type Element {get;}
Expression Expression {get;}
IQueryaleProvider Provider {get;}
}
问题:
Microsoft 使用表达式树来玩 LINQ-to-Sql。我可以使用哪些不同的方式使用表达式树来提升我的代码。
除了 LINQ to SQL、Linq to amazon,还有谁在他们的应用程序中使用了表达式树?
Linq to Object 返回 IEnumerable,Linq to SQL 返回 IQueryable,LINQ to XML 返回什么?
【问题讨论】:
标签: c# asp.net expression-trees