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. Linq和FullTextSearch - Asp.Net
- 3. asp.net LINQ vs Datatable
- 4. LINQ to SQL ASP.net
- 5. ASP.NET-MVC4 - Linq查询数据库中的
- 6. LINQ to SQL ASP.NET MVC中的结果DuplicateKeyException
- 7. 在asp.net中使用linq的Gridview分页
- 8. LINQ to SQL中的ASP.NET MVC查找表
- 9. ASP.NET MVC - 使用LINQ
- 10. ASP.NET MVC,LINQ和ModelBinders
- 11. ASP.NET LINQ删除行
- 12. sql to linq asp.net relations
- 13. ASP.net c#LINQ for loop
- 14. ASP.NET MVC LINQ查询
- 15. 在ASP.NET 4.5中使用LINQ和MySql
- 16. LINQ不想在ASP.NET MVC中显示
- 17. asp.net 3.5 linq批量更新?
- 18. LINQ自我加入ASP.NET MVC3
- 19. asp.net mvc linq sql问题
- 20. asp.net MVC3 LINQ表达式
- 21. Databind Grid LINQ异步ASP.NET C#
- 22. ASP.NET动态Linq搜索
- 23. asp.net更新LINQ dbml文件
- 24. ASP.NET MVC类继承和LINQ
- 25. LINQ到在asp.net MVC SQL 3
- 26. 如何使用LINQ ASP.NET
- 27. jqgrid列LINQ与ASP.NET MVC
- 28. 如何执行使用LINQ或λ?(C#,Asp.net中的LINQ,拉姆达)
- 29. ASP.NET MVC的自定义LINQ查询
- 30. 在asp.net生成的表上使用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