IEnumerable是否优先于实体框架中的IQueryable?

时间:2015-10-08 02:57:19

标签: entity-framework ienumerable iqueryable

我理解IEnumerable和IQueryable是如何工作的。我无法想象在使用SQL数据库时实体框架中需要IEnumerable的情况。我想知道我是否可以在EF中丢弃IEnumerable。你能提供一些有用的例子来说明IEnumerable可能比IQueryable更有用吗?

1 个答案:

答案 0 :(得分:1)

有三种情况可以想到。

  1. 当EF无法将您的查询转换为正确的SQL语句时 - 因此您需要将结果存入内存以完成计算。
  2. 当您需要执行涉及不转换为SQL的运算符的操作时。
  3. 当SQL Server生成计算时比内存计算慢。很多时候我发现将所有数据都放到内存中比让SQL更快。