2011-02-08 44 views

回答

2

我建議您在MSDN上閱讀Expression Trees

當使用IQueryable<T>時,它們最常用於LINQ,即:LINQ to Sql或實體框架等。傳遞給LINQ查詢的lambda表達式轉換爲表達式樹,這是一種「在樹狀數據結構中表示代碼」的方式。

這允許有問題的提供者將其轉換爲實際的SQL數據庫調用,因爲它可以解析表達式樹並將其轉換爲數據庫本身理解的內容。

這就是說,這也可以在其他地方使用。無論何時您需要表示「代碼」並構建它,您都可以使用表達式樹。例如,這通常用於implement INotifyPropertyChanged without requiring strings to be passed

相關問題