IQueryable - 为什么它比IEnumerable更好?

时间:2012-10-06 09:13:58

标签: c# ienumerable iqueryable

  

可能重复:
  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。

2 个答案:

答案 0 :(得分:3)

IEnumerable足够接近可以迭代的集合的最简单接口,就像在foreach循环中一样。

IQueryable是一个查询构建器,它包含一个可以添加的LINQ查询,直到您对强制执行并返回集合的查询执行某些操作。

答案 1 :(得分:1)

IQueriable提供评估针对特定数据源的查询的功能,其中未指定数据类型。而IEnumerable只允许一种循环方式。

总而言之,

Queryable允许您对数据进行干预

Enumerable允许您浏览数据的每个元素