【问题标题】:IQueryable - Why is it better then IEnumerable? [duplicate]IQueryable - 为什么它比 IEnumerable 更好? [复制]
【发布时间】:2012-09-27 07:49:26
【问题描述】:

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

【问题讨论】:

  • *不要告诉我将 IEnumerable 用于集合,将 IQueryable 用于 sql,因为我们可以将每个用于集合和 sql。 -->> 这就是他们给他的答案..
  • @StavAlfi,使用 IEnumerable,您将在 RAM 中加载整个 SQL 表并检查它。使用 IQueryable 将生成一个 SQL 查询。这就是区别,也是一个极其重要的区别。

标签: c# ienumerable iqueryable


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    IQueriable 提供针对未指定数据类型的特定数据源评估查询的功能。而 IEnumerable 只允许循环遍历它们。

    总之,

    Queryable 可让您查询数据

    可枚举让您遍历数据的每个元素

    【讨论】:

      猜你喜欢
      • 2013-06-15
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      • 2010-12-08
      • 2020-04-23
      相关资源
      最近更新 更多