我只是想知道为什么没有通用功能的IQueryable<T>
版本?
答案 0 :(得分:4)
通用
IQueryable<T>
是您在方法中最常使用的 签名等。 非通用IQueryable
主要存在于 为您提供一个主要用于动态查询的弱类型入口点 建立场景。
来自LINQ: Building an IQueryable Provider - Part I
的Matt Warren您应该尽可能使用通用IQueryable<T>
。
答案 1 :(得分:1)
我想这与Jon Skeet在Difference between IEnumerable and IEnumerable<T>?中给出的原因相同,允许在foreach
循环中使用。 IQuerable
可投放至IEnumerable
,而IQueryable<T>
则不会。
另请参阅Marcin关于在动态查询构建方案中使用的答案。