|
8
|
| Patrick Desjardins · 技术社区 · 17 年前 |
|
|
1
6
iqueryable实现了IEnumerable,所以现在,有了iqueryable,您可以用IEnumerable做任何可以做的事情。iqueryables处理将一些lambda表达式转换为基础数据源上的查询-这可能是SQL数据库或对象集。 基本上,如果它是一个iQuery或IEnumerable,您通常不必以某种方式关心它。 |
|
|
2
6
作为一个用户,您通常不必在意,它实际上是关于数据源的实现者。如果数据提供程序只是实现IEnumerable,那么您基本上是在执行对象的LINQ,即对集合执行内存操作。iqueryable为数据源提供了在执行表达式(通常通过枚举)后将表达式树转换为备用表示以供执行的功能,Linq2SQL、Linq2XML和Linq2Entities就是这样做的。 我唯一能看到终端用户关心的是,他们是否希望检查将要执行的表达式树,因为iQuery公开表达式。另一个用途可能是检查提供者。但这两种情况都应该为其他查询提供者的实现者保留,并希望转换表达式。Linq的要点是,您不必关心要使用的表达式执行的实现。 |
|
|
3
1
我同意ArneClaassen的观点,在某些情况下,您需要考虑数据源提供的底层实现。例如,检查这个 blog post 它显示了IEnumerable和IQueryable生成的SQL在某些场景中是如何不同的。 |
|
|
Sergei · 删除数据框中多个列的列表中的某些元素 3 年前 |