LINQ中的IEnumerable和IQuearable有什麼區別?我閱讀了更多關於這方面的文章,但我不理解實際情況。asp.net中的LINQ
-2
A
回答
0
IEnumerable和IQueryable是任何LINQ討論中最常用的兩個術語。我想在這裏試圖根據他們的行爲來簡化兩個接口。在LINQ世界中,我們通常在.NET Framework中有很少的提供者可用,比如LINQ to Object,LINQ to SQL,LINQ to XML。
這是一條聲明,每個LINQ語句都返回IEnumerable。 IEnumerable按步驟工作。意思是,當你寫,
var q = from a in b
where a > 5
select a;
它創建了一個清單出來「B」因「其中」然後創建另一個列表「選擇」。這是LINQ to Object和LINQ to XML的行爲。
當您使用LINQ to SQL時,它使用IQueryable。該接口繼承自IEnumerable,但通常任何LINQ to SQL都會在後端生成T-SQL,以便能夠爲我們獲取數據。這一次評估並生成查詢,併爲我們提供了整個數據。
What is the difference between IQueryable<T> and IEnumerable<T>?
0
的IEnumerable意味着我可以返回T.
的項目的IQueryable意味着我可以返回的T項目,但我還可以接受LINQ操作(其中,選擇等),我會處理並轉換爲無論是在幕後提供數據。
現在當然IEnumerable看起來像它也接受LINQ操作,但不同之處在於它們從來沒有被翻譯過,而是隻是在內存中執行。例如Where運算符只是做這樣的事情:
T式(IEnumerable的值,Func鍵謂語) { 的foreach(中值VAR值) 如果(謂詞(值)) 產量的返回值; }
相關問題
- 1. LINQ和asp.net的MVC
- 2. asp.net LINQ vs Datatable
- 3. LINQ to SQL ASP.net
- 4. Asp.net linq查詢
- 5. Linq查詢,asp.net
- 6. Linq和FullTextSearch - Asp.Net
- 7. SQL查詢到asp.net中的LINQ mvc
- 8. ASP.NET MVC控制器語法中的Linq
- 9. LINQ to SQL ASP.NET MVC中的結果DuplicateKeyException
- 10. 在ASP.NET中的錯誤.NET + LINQ
- 11. 在asp.net中使用linq的Gridview分頁
- 12. LINQ to SQL中的ASP.NET MVC查找表
- 13. ASP.NET-MVC4 - Linq查詢數據庫中的
- 14. linq(asp.net)中的映射對象
- 15. ASP.NET MVC - 使用LINQ
- 16. sql to linq asp.net relations
- 17. 錯誤在LINQ ASP.NET
- 18. ASP.NET會話和LINQ
- 19. ASP.NET MVC,LINQ和ModelBinders
- 20. Asp.Net Mvc Linq問題
- 21. ASP.NET LINQ刪除行
- 22. ASP.NET MVC LINQ查詢
- 23. ASP.net c#LINQ for loop
- 24. Asp.Net MVC3,在Linq中更新查詢
- 25. Linq在asp.net中推遲執行
- 26. 在ASP.NET 4.5中使用LINQ和MySql
- 27. LINQ不想在ASP.NET MVC中顯示
- 28. 在asp.net中使用Linq查詢緩存
- 29. Linq Asp.net代碼優化
- 30. asp.net 3.5 linq批量更新?
事實上,**接受一些答案** - 直到你的.. [IQueryable的和IEnumerable 之間的區別是什麼?(HTTP –
2010-12-14 09:44:32
可能重複,我會刪除我的答案://計算器.com/questions/252785/what-is-the-difference-between-iqueryablet-and-ienumerablet) – 2011-01-16 18:42:48
People!這個問題不可能是不可思議的。盡職盡責。 – 2011-01-16 18:44:22