接上文
DataProvider是日常编程中最常用的Provider,它为项目提供了与数据库交互的能力,使程序人员能够方便、快捷的获得SQL结构,简化了程序代码,增强程序可读性。它共有8个类库,100多个方法,包括配置、功能和枚举三部分,以下是它的基本类关系:
图3.4公共接口
图3.5文件操作
图3.6 数据库操作与数据容器接口
IsLine.Data.ContainerDefiner命名空间:
IsLine.Data.ContainerDefiner是DataProvider的一个扩展,它定义了一些列ADO.NET中常用的数据对象,以容器的角色出现在上层中,它可以根据一些列的缓存策略,并根据这些策略对数据进行持久化。
依赖于命名空间:IsLine.HttpContent.HCDataTypeEnum
成员类名称:ContainerDefine (实现接口ISqlContainer, IOracleContainer, IFileContainer, IDisposable)
部分public的方法:
方法/字段名 | 功能 | 类型 |
SqlDataReader | 返回或设置一个SqlDataReader | SqlDataReader |
OracleDataReader | 返回或设置一个OracleDataReader | OracleDataReader |
DataSet | 返回或设置一个DataSet,包含缓存优化选项,该选项可在实例化时指定 | DataSet |
DataTable | 返回或设置一个DataTable | DataTable |
DataRow | 返回或设置一个DataRow | DataRow |
SqlDataAdapter | 返回或设置一个SqlDataAdapter | SqlDataAdapter |
OracleDataAdapter | 返回或设置一个OracleDataAdapter | OracleDataAdapter |
Dispose() | 释放容器内所有对象 | void |
IFileContainer.FileContent | 返回或设置一个FileContent,该FileContent为IfileContainer接口成员,包含缓存优化选项,该选项可在实例化时指定 | IFileContainer.FileContent |
IsLine.Data.DataProvider命名空间:
这个命名空间是DataProvider的主体,它完成了对数据的存储操作。
依赖于命名空间:IsLine.Security.Cryptography、IsLine.Data、IsLine.Data.Configuration
成员类名称:DBProvider、OracleProvider(实现接口IOracleProvider)、SqlProvider(实现接口ISqlServerProvider)、FileProvider、XMLProvider、TextProvider、SuitConfigProvider
public的方法:限于篇幅限制,这里不再介绍
使用这个命名空间处理数据事务,可以对其进行扩展,但须遵循一系列的接口契约,为其提供数据库工厂,按照以下方式部署该工厂的库文件,这样,ILFW运行前会使用私有方法DbProviderFormating()对用户提供的工厂进行反射。
用户提供的规范如下:
● DLL部署路径:IsLineFrameWork\IsLine.Provider.DataProvider.CfgDllName,其中IsLine.Provider.DataProvider.CfgDllName为web.config配置的dll名称。
●工厂所在命名空间:IsLine.Provider.DataProvider
●工厂类名称: DBFactory
●方法类型DbProviderFactory
●方法名称:GetDbProvider()
图3.7 DataProvider基本类关系
本文转自Aicken(李鸣)博客园博客,原文链接:http://www.cnblogs.com/isline/archive/2009/12/22/1629824.html,如需转载请自行联系原作者