zoukankan      html  css  js  c++  java
  • Entity Framework第三篇IQueryable和list本地集合

      在上一篇博客中我们大致学习了EF框架的增删改查的功能,这篇我们主要来说一下Iqueryable集合和List等本地集合的区别,下面我们通过建立一个简单的例子来学习这个知识点,直接进入主题吧

    1.首先对比一下两段代码?看一下有什么结果:

      (1) 第一段代码如图所示:

        

      (2)第一段代码使用数据库的Profiler查看执行结果:  

        

      (3)第二段代码如图所示:

        

      (4) 第一段代码使用数据库的Profiler查看执行结果:

        

    2.IQueryable

      (1) IQueryable表达式分为三个项,第一个是查询数据的表达式,第二个是元素类型,第三个是:查询数据Provider,每次我们需要取出集合里面的数据的话,Provider都回去解析查询数据的表达式,解析完之后再去数据库将数据取出来,传递给集合使用

    3.List,Array,IEnumable等本地类型的集合

      (1) 本地类型的存储数据就像是往箱子里面塞东西,你想往里面放就放,然后当我们使用的时候,直接遍历一下拿出来就行了,而IQeurable是你使用数据的时候先让Provider解析查询数据的表达式,,然后去响应的地方去查询数据。而List等已经在本地存放了,你只需要拿出来使用就行了

    4. 本地集合(List和Array等集合)和IQuerable图示信息

      

    5.知识点总结

      (1) 解决查询多次的问题,因IQueryable延迟加载,当用到集合的时候,provider会解析表达式,然后生成查询,所以会走一个复杂的过程。

      (2) 本地集合:List,Array,IEnumable都是本地集合,都是缓存在里面的

      (3) 使用EF管理上下文实例的最佳选择是线程的唯一。

      (4) IEnumerable接口是一个公开枚举器,该枚举器支持在指定的集合上进行简单迭代,也就是次接口可以直接使用foreach遍历次Object。具体的分析见上面。

  • 相关阅读:
    【转】VB 技巧一
    VB中的trim()函数
    转:vb实现老板键功能
    VB为自己的程序设定消息(可接收处理)
    RegisterHotKey的具体使用方法
    GetPrivateProfileString
    在VB语言中,DOEVENTS的具体的用法和含义
    VB中的ADO数据对象编程
    jquery操作select下拉列表框
    jQuery对Select的操作集合
  • 原文地址:https://www.cnblogs.com/hanyinglong/p/2775306.html
Copyright © 2011-2022 走看看