鼎鼎知识库
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

10.IQueryable.md 1.0KB

pirms 5 gadiem
12345678910
  1. > IQueryable
  2. - IQueryable只存贮条件,不立即运行
  3. - LINQ查询方法一共提供了两种扩展方法,在System.Linq命名空间下,有两个静态类:
  4. - Enumerable类,它针对继承了IEnumerable<T>接口的集合进行扩展;
  5. - Queryable类,针对继承了IQueryable<T>接口的集合进行扩展
  6. - 所有对于IEnumerable的过滤,排序等操作,都是在内存中发生的。也就是说数据已经从数据库中获取到了内存中,只是在内存中进行过滤和排序操作。
  7. - 所有对于IQueryable的过滤,排序等操作,只有在数据真正用到的时候才会到数据库中查询。这也是Linq的延迟加载核心所在。
  8. - where条件接收表达式,返回IQueryable接口
  9. - IQueryable表达式分为三个项,第一个是查询数据的表达式,第二个是元素类型,第三个是:查询数据Provider,每次我们需要取出集合里面的数据的话,Provider都回去解析查询数据的表达式,解析完之后再去数据库将数据取出来,传递给集合使用