6

我只是想知道为什么有一个IQueryable<T>没有通用功能的版本?

4

2 回答 2

5

泛型IQueryable<T>是您在方法签名等中最常使用的一种。非泛型的IQueryable存在主要是为了给你一个弱类型的入口点,主要用于动态查询构建场景

作者:来自LINQ 的 Matt Warren:构建 IQueryable 提供程序 - 第一部分

IQueryable<T>你应该在任何可能的地方使用泛型。

于 2013-08-30T14:39:29.867 回答
1

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

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

于 2013-08-30T14:13:49.160 回答