IQueryable
- IQueryable只存贮条件,不立即运行
- LINQ查询方法一共提供了两种扩展方法,在System.Linq命名空间下,有两个静态类:
- Enumerable类,它针对继承了IEnumerable接口的集合进行扩展;
- Queryable类,针对继承了IQueryable接口的集合进行扩展
- 所有对于IEnumerable的过滤,排序等操作,都是在内存中发生的。也就是说数据已经从数据库中获取到了内存中,只是在内存中进行过滤和排序操作。
- 所有对于IQueryable的过滤,排序等操作,只有在数据真正用到的时候才会到数据库中查询。这也是Linq的延迟加载核心所在。