可能重复:
What is the difference between IQueryable<T> and IEnumerable<T>?
我读了很多关于IQueryable的内容,我仍然不明白何时使用什么以及什么是IQueryableProvider的方法。
我的英语并不完美,所以理解这篇文章对我来说是不可靠的。 http://blogs.msdn.com/b/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx
*不要告诉我使用IEnumerable用于集合,而IQueryable用于sql因为我们可以将每一个用于集合和sql。
答案 0 :(得分:3)
IEnumerable
足够接近可以迭代的集合的最简单接口,就像在foreach
循环中一样。
IQueryable
是一个查询构建器,它包含一个可以添加的LINQ查询,直到您对强制执行并返回集合的查询执行某些操作。
答案 1 :(得分:1)
IQueriable提供评估针对特定数据源的查询的功能,其中未指定数据类型。而IEnumerable只允许一种循环方式。
总而言之,
Queryable允许您对数据进行干预
Enumerable允许您浏览数据的每个元素