ASP.NET企业开发框架IsLine FrameWork系列之四--DataProvider 数据访问(上)
接上文
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) 欢迎您关注我的下一篇文章。
李鸣(aicken)原创 转载注明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述