ADO.NET 结构整理
这些年来工作中的开发工作主要集中在用代码处理业务层面,对数据库的操作一直是用的原来项目沿用下来的数据层。这次由于要想在项目中使用Dapper.NET,所以系统学习了下ADO.NET,并对知识点做了相应的整理。本篇近限于原始的方式,不包括后来的LINQ和实体框架。
1、ADO.NET的发展历程:
ADO.NET基本跟随着.NET Framework的版本更新,大致如下:
- .NET Framework 2.0 形成了现有的ADO.NET中直接访问数据源的组件。
- .NET Framework 3.5 新增 SqlClient 对 SQL Server 2008 的支持、 LINQ to DataSet 、 LINQ to SQL 和 Entity Framework
- .NET Framework 4 对Entity Framework增加了功能
- .NET Framework 4.5 对SQL Server 的 .NET Framework 数据提供程序新增了功能,同时发布 Entity Framework 5.0
2、ADO.NET中直接访问数据源的组件包括两个部分:
- .NET Framework 提供的程序,其中有4个核心对象:
-
Connection:建立与特定数据源的连接。所有 Connection 对象的基类均为 DbConnection 类。
-
Command:对数据源执行命令。公开 Parameters,并可在 Transaction 范围内从 Connection 执行。所有 Command 对象的基类均为 DbCommand类。
-
DataReader:从数据源中读取只进且只读的数据流。所有 DataReader 对象的基类均为 DbDataReader 类。
-
DataAdapter:使用数据源填充 DataSet 并解决更新。所有 DataAdapter 对象的基类均为 DbDataAdapter 类。
-
-
DataSet,其中包括:
-
DataTable
-
DataRelation
-
- 查询(SELECT)
-
单个值:通过 Command 的 ExecuteScalar 方法。
-
数据集:
-
通过 DataAdapter 的 Fill 方法来填充DataSet或DataTable
-
通过 Command 的 ExecuteReader 方法返回 DataReader 来检索只读数据流。
-
-
-
不返回任何行的操作(INSERT,UPDATE,DELETE)
-
通过Command的 ExecuteNonQuery。该方法返回受影响行的行数。
- DataAdapter的UpdateCommand、InsertCommand、DeleteCommand。
-
-
对数据库进行修改(CREATE TABLE、CREATE PROCEDURE、DROP TABLE等)
-
通过 Command 的 ExecuteNonQuery 方法。
-
4. 对操作添加参数
- Command:Command.Parameters.Add 方法
- DataAdapter:DataAdapter.Paramters.Add 方法
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。