2011-11-28 74 views

回答

9

的LINQ上IEnumerable使用LINQ到对象。

对于像Linq to SQL和Entity Framework这样的ORM,这意味着将您的Linq查询翻译为相应的数据库SQL查询 - 对数据库进行过滤等操作比将数据移动到内存中要好得多更好的性能。

3

不,IQueryable通常由面向数据库的提供者支持,并且支持到SQL的转换。
任何优化都将归因于SQL引擎。

IQueryable和IEnumerable都延迟执行。上IQueryable LINQ的使用无论查询提供已经为标准的查询操作符来实现 -
interface IQueryable<T> : IEnumerable<T> ...