CYQ.Data 轻量数据访问层(一) 概述

简介:

在很久很久以前。2007年底,我曾发布过CYQ.Data.DLL,那时的学术氛围很浓,评论的也比较重

在那里,我曾做过一些简介与使用方法的帮助

在这个系列中,我将一步一步开源并讲解实现的过程,由于文章进行编辑,日期变了

以前旧文章地址为:http://www.cnblogs.com/cyq1162/archive/2009/11/05/968626.html

 

这里先简单介绍一下数据访问层的大体结构:

这里先上一张主要的图:

该访问层主要分三类:

一.自定义Table

1.自定义实现轻量级MDataTable,并实现IDataReader接口,以便可以直接绑定到DataGrid,Repeater等控件

主要数据包括

自定义数据单元格:MDataCell

自定义数据数据列集合:MDataColumns

自定义数据行:MDataRecord,继承并实现IDataRecord,以后在控件后台可以实现类型转换,并实现与MDataRow的隐式转换

2.数据主操作MDataRow,实现动态构建数据库表架构,并缓存表架构,同时实现数据的增删改查

MDataResult是枚举,返回为MDataRow操作的结果类型

二.自定义的Sql

1.主要自已简化的SQLHelper,并结构Log记录出错异常

DataType主要是数据库类型和C#类型之间的转换

ProcedureSql主要是一些存储过程,可以实现读取数据库表架构及相应的分页存储过程

OutPutData主要是提供生成数据库的表与视图与字段,会以枚举的形式存在,本数据方问层,会以枚举替代实体类的存在

三,Cache类

主要是缓存相应的表架构

--------------------------------------

说明,在接下来的讲解实例中,可能涉及到类的更名与移除

并会优化同时也会去掉一些多余的代码与函数

所以,本人会新建一个新的项目,重新写一次最新的项目,并提供下载

关于功能的可能更新,如下面的操作:

 

MDataRow mdr=new MDataRow(Table.Users);//Table.V_Users

mdr[Users.UserName].Value='cyq';

mdr.Update("id=1");

mdr.Close();

在这个示例中,如果Users为数据库,则Users.UserName枚举会直接转成(int)Users.UserName进行索引查询

如果为V_Users或为多表查询的数据,则Users.UserName枚举会转成Users.UserName.ToString()进行遍历查询

1.关于多表查询中,不仅仅限于视图,也支持构建的联合查询表,如:

string usersTable="(select u.* from users u left join topic t on u.id=t.uid) v_users";

MDataRow mdr=new MDataRow(usersTable);

mdr[Users.UserName].Value='cyq';

mdr.Update("id=1");

mdr.Close();


版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/archive/2009/11/06/1596424.html

目录
相关文章
|
5天前
|
人工智能 运维 安全
|
3天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
494 14
|
11天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
863 109
|
4天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。