文档介绍:.NET 数据访问架构指南
Alex Mackman, Chris Brooks, Steve Busby, 和 Ed Jezierski
微软公司
2001 年 10 月
概述: 应用程序中实施基于 的数据访问层的指导原则。其重点是一组通
用数据访问任务和方案,并指导你选择最合适的途径和技术(68 张打印页)。
目录
· 简介
· 管理数据库链接
· 错误处理
· 性能
· 通过防火墙建立链接
· 处理 BLOBs
· 事务处理
· 数据分页
简介
应用程序设计数据访问层,那么就应该把 Microsoft 用作数据访问模型。
扩展丰富,并且支持结合松散的数据访问需求、多层 Web 应用程序及 Web 服务。通常,它利用
许多扩展丰富的对象模型, 提供了多种方法用于解决一个特定问题。
本文将指导你选择最合适的数据访问方法,其做法是详细列出大范围的通用数据访问方案,提供运用技巧,
并且建议最优实践。本文还回答了其它经常问到的问题:何处最适合存放数据库链接字符串?应如何实现
链接存储池?如何处理事务?如何实现分页以允许用户在许多记录中滚动?
注意本文的重点是 的使用:利用 SQL Server .NETData Provider--随 一起提供的两个供
应器之一--访问 Microsoft SQL Server 2000。本文在合适的地方,将突出显示在你使用 OLE DB .NET 数据供
应器访问其它 OLE DB 敏感数据源时需要注意的所有差别。
对于利用本文所讨论的指导原则和最优实践所开发的数据访问组件的具体实现,见(Data Access Application
Block)数据访问应用程序块。注意,本实现的源代码是可以获得的, 应用程序中。
谁应当阅读本文?
应用程序的应用程序设计师和企业开发人员提供了指导原则。如果你负责设计并开发
应用程序的数据层,那么请阅读本文。
你首先需要知道什么?
应用程序,你必须有利用 ActiveX 数据对象(ADO)和/或 OLE DB 开发数据访问代
码的实际经验,及 SQL Server 经验。平台开发管理代码,并且也必须清楚
数据访问模型引入的基本变化。开发的更多信息,见 http://msdn./net 。
简介
应用程序的数据访问模型。它能用于访问关系型数据库系统,如 SQL Server 2000,及很
多其它已经配备了 OLE DB 供应器的数据源。在某种程度上, 代表了最新版本的 ADO 技术。然
而, 引入了一些重大变化和革新,它们专门用于结构松散的、本质非链接的 Web 应用程序。关
于 ADO 与 的比较,见 MSDN 中的“用于 ADO 程序员的”一文。
引入的一个重要变化是,用 DataTable, DataSet, DataAdapter, 和 DataReader 对象的组合代替了
ADO Recordset 对象。DataTable 表示来自一个表的行集合,在这方面它与 Recordset 类似。DataSet 表示
DataTable 对象的集合,及与其它表绑定在一起的关系和限制。实际上,DataSet 是具有内置的扩展标记语
言(XML)支持的内存中的关联结构。
DataSet 的一个主要特点是,它对底层的数据源一无所知,而这些数据源可能用于对其进行填充。这是一个
分离的用于表示数据集合的独立实体,并且它可通过多层应用程序的不同层由一个组件传递到另一组件。
它也可作为 XML 数据流被序列化,因而非常适合于不同类型平台间的数据传输。使用
DataAdapter 对象为发送到和来自 DataSet 及底层数据源的数据建立通道。DataAdapter 对象还支持增强的批
更新特性,以前这是 Recorder 的相关功能。
图 1 显示了完整的 DataSet 对象模型。
图 1 DataSet 对象模型
.NET 数据供应器
数据供应器的服务。它们提供了对底层数据源的访问,包括四个主要对象
(Connection, Command, DataReader,及 DataAdapter),目前, 只发行了两个供应器:
· SQL Server .NET 数据供应器。这是用于 Microsoft SQL Server 及其以后版本数据库的供应器,
它优化了对 SQL Server 的访问,并利用 SQL Server 内置的数据转换协议直接与 SQL Server 通信。
· 当链接到 SQL Server 或 SQL Server 2000 时,总是要使用此供应器。