我只是想知道为什么有一个IQueryable<T>没有通用功能的版本?
1789 次
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 回答