程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 方法-關於C# link的IQueryable和IEnumerable的比較

方法-關於C# link的IQueryable和IEnumerable的比較

編輯:編程綜合問答
關於C# link的IQueryable和IEnumerable的比較

IQueryable和IEnumerable的比較,我是這麼理解的,IQ是數據庫查詢,IE是內存查詢
IQ速度快,IE速度慢,IQ不能調用自定義方法,IE可以,所以IE通用性強。
如果能用IQ就不用IE,是不是這樣?

最佳回答:


IQueryable基於表達式樹,C#遇到調用它的地方,不會直接編譯這些調用代碼,而是會產生一個Expression對象,用類似抽象語法樹的數據結構表示查詢表達式。
這樣LINQ Provider就可以在運行的時候知道你的表達式中的過濾條件,從而實現查詢。正因為如此,自定義方法對於LINQ to SQL來說是不可用的。
但是完全你可以寫一個Provider,不是針對數據庫查詢的,以及支持本地方法調用。同時IQueryable查詢結果,也必須轉化為IEnumerable才能迭代出結果。
所以你說的不准確。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved