zoukankan      html  css  js  c++  java
  • 趣味理解ADO.NET对象模型

        数据库的应用在我们的生活和工作中已经无处不在,无论是一个小企业的OA系统,还是中国移动的运营系统,似乎都离不开数据库的应用。对于大多数应用程序来说,不管它们是Windows桌面应用程序,还是Web应用程序,存储和检索数据都是其核心功能。所以针对数据库的开发已经成为软件开发的一种必备技能。如果说过去是“学好数理化,走遍天下都不怕”,那么,对于今天的软件开发者而言就是“学好数据库,走到哪儿都不怵!”。

        ADO.NET是微软新一代.NET数据库的访问架构,ADOActiveX Data Objects的缩写。ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供一个面向对象的数据访问架构,用来开发数据库应用程序。

         为了更好地理解ADO.NET的架构模型的各个组成部分,我们可以对ADO.NET中的相关对象进行图示理解,如图5-3所示的是ADO.NET中数据库对象的关系图。

    ADO.NET对象模型

    图5-3  ADO.NET对象模型

    我们可以用趣味形象化的方式理解ADO.NET对象模型的各个部分,如图5-4所示,可以看出这些对象所处的地位和对象间的逻辑关系。

    ADO.NET趣味理解图

     ADO.NET趣味理解图

     

    趣味理解

     

    对比ADO.NET的数据库对象的关系图,我们可以用对比的方法来形象地理解每个对象的作用,如图5-4所示。

    l  数据库好比水源,存储了大量的数据。

    l  Connection好比伸入水中的进水笼头,保持与水的接触,只有它与水进行了“连接”,其他对象才可以抽到水。

    l  Command则像抽水机,为抽水提供动力和执行方法,通过“水龙头”,然后把水返给上面的“水管”。

    l  DataAdapterDataReader就像输水管,担任着水的传输任务,并起着桥梁的作用。DataAdapter 像一根输水管,通过发动机,把水从水源输送到水库里进行保存。DataReader 也是一种水管,和DataAdapter不同的是,DataReader不把水输送到水库里面,而是单向地直接把水送到需要水的用户那里或田地里,所以要比在水库中转一下更快更高效。

    l  DataSet则是一个大水库,把抽上来的水按一定关系的池子进行存放。即使撤掉“抽水装置”(断开连接,离线状态),也可以保持“水”的存在。这也正是ADO.NET的核心。

    l  DataTable则像水库中的每个独立的水池子,分别存放不同种类的水。一个大水库由一个或多个这样的水池子组成。

          选自《亮剑.NET. .NET深入体验与实战精要》 5.1.2 节。

  • 相关阅读:
    Gitblit版本服务器环境部署记录
    LVS+Keepalived 高可用环境部署记录(主主和主从模式)
    LVM常规操作记录梳理 [扩容、缩容、快照等]
    MFS+Keepalived双机高可用热备方案操作记录
    Docker容器时间跟主机时间保持同步的操作记录
    搜狗拼音输入法LINUX版安装
    Android实现透明的颜色效果(zz)
    android.database.CursorIndexOutOfBoundsException:Index -1 requested, with a size of 1(zz)
    View 的setTag() 和 getTag()
    android 布局的两个属性 dither 和 tileMode
  • 原文地址:https://www.cnblogs.com/ltp/p/1505290.html
Copyright © 2011-2022 走看看