ADO.NET 结构整理

这些年来工作中的开发工作主要集中在用代码处理业务层面,对数据库的操作一直是用的原来项目沿用下来的数据层。这次由于要想在项目中使用Dapper.NET,所以系统学习了下ADO.NET,并对知识点做了相应的整理。本篇近限于原始的方式,不包括后来的LINQ和实体框架。

1、ADO.NET的发展历程:

ADO.NET基本跟随着.NET Framework的版本更新,大致如下:

  1. .NET Framework 2.0 形成了现有的ADO.NET中直接访问数据源的组件。
  2. .NET Framework 3.5 新增 SqlClient 对 SQL Server 2008 的支持、 LINQ to DataSet 、 LINQ to SQL 和 Entity Framework
  3. .NET Framework 4 对Entity Framework增加了功能
  4. .NET Framework 4.5 对SQL Server 的 .NET Framework 数据提供程序新增了功能,同时发布  Entity Framework 5.0

2、ADO.NET中直接访问数据源的组件包括两个部分:

  • .NET Framework 提供的程序,其中有4个核心对象:
    1. Connection:建立与特定数据源的连接。所有 Connection 对象的基类均为 DbConnection 类。
    2. Command:对数据源执行命令。公开 Parameters,并可在 Transaction 范围内从 Connection 执行。所有 Command 对象的基类均为 DbCommand类。
    3. DataReader:从数据源中读取只进且只读的数据流。所有 DataReader 对象的基类均为 DbDataReader 类。
    4. DataAdapter:使用数据源填充 DataSet 并解决更新。所有 DataAdapter 对象的基类均为 DbDataAdapter 类。
  • DataSet,其中包括:
    1. DataTable
    2. DataRelation
这两部分的连接在DataAdapter。DataSet和DataTable用DataAdapter的Fill方法来填充。

 

技术分享

 

3. 对数据库操作的方法
  1. 查询(SELECT)
    • 单个值:通过 Command 的 ExecuteScalar 方法。
    • 数据集:
      • 通过 DataAdapter 的 Fill 方法来填充DataSet或DataTable
      • 通过 Command 的 ExecuteReader 方法返回 DataReader 来检索只读数据流。
  2. 不返回任何行的操作(INSERT,UPDATE,DELETE)
    • 通过Command的 ExecuteNonQuery。该方法返回受影响行的行数。

    • DataAdapter的UpdateCommand、InsertCommand、DeleteCommand。
  3. 对数据库进行修改(CREATE TABLE、CREATE PROCEDURE、DROP TABLE等)
    • 通过 Command 的 ExecuteNonQuery 方法。

4. 对操作添加参数

  • Command:Command.Parameters.Add 方法
  • DataAdapter:DataAdapter.Paramters.Add 方法

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。