IQueryable vs IQueryable

我只是想知道为什么有一个没有通用function的IQueryable版本?

通用IQueryable是您在方法签名等中最常使用的。 非通用IQueryable主要用于为您提供主要用于动态查询构建方案的弱类型入口点

来自LINQ的Matt Warren :建立一个可以提供智能的提供者 – 第一部分

你应该尽可能地使用通用的IQueryable

我想这与Jon Skeet 在IEnumerable和IEnumerable 之间的差异给出的原因相同? ,允许在foreach循环中使用。 IQuerable可以转换为IEnumerable ,而IQueryable不会。

另请参阅Marcin关于在动态查询构建场景中使用的答案。