2011-11-28 73 views

回答

9

的LINQ上IEnumerable使用LINQ到對象。

對於像Linq to SQL和Entity Framework這樣的ORM,這意味着將您的Linq查詢翻譯爲相應的數據庫SQL查詢 - 對數據庫進行過濾等操作比將數據移動到內存中要好得多更好的性能。

3

不,IQueryable通常由面向數據庫的提供者支持,並且支持到SQL的轉換。
任何優化都將歸因於SQL引擎。

IQueryable和IEnumerable都延遲執行。上IQueryable LINQ的使用無論查詢提供已經爲標準的查詢操作符來實現 -
interface IQueryable<T> : IEnumerable<T> ...