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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CYQ.Data 轻量数据访问层(四) 构造数据单元列
有了数据结构单元的结构类之后,数据单元列集合就得很容易写了,因为,所有的数据单元结构加起来,就成了数据单元列集合了 于是,我们很轻易的写出了以下类: ///<summary>///头列表集合///</summary>publicclassMDataColumn:List<MDataCellStruct>{publicMDataColumn():base(){}publicMDataColumn(intcapacity):base(capacity){}} 看,没几行代码 为了以后把该架构缓存到cache里,我们为它加上一个Clone()方法 方法如下: publicMDataColumnClone(){MDataColumnmcs=newMDataColumns(base.Count);for(inti=0;i<base.Count;i++){MDataCellStructmcb=base[i];mcs.Add(mcb);}returnmcs;} 这里再为列集合加上一个添加列的Add重载方法如下; publicvoidAdd(stri...
- 下一篇
数据中心服务保障五原则
数据中心承载着大量的应用业务,每逢重大节日或者访问洪峰的到来都需要做各种保障,以防出现突发事件,对应用造成影响。比如:互联网电商的双11大促销,高中考网站的报名,APEC等重要事件等等,这些事件有的是时间节点特别重要,尽量不要出问题,有的是访问数据中心流量压力特别大,尽量不要出问题。所以一年时间下来,数据中心需要保障的大大小小事件的确不少,而且每次服务保障任务侧重点也有不同,如何做好这些保障工作,考验着数据中心的运维服务能力水平。本文着重介绍做数据中心服务保障工作需要依据五个原则,下面将逐条讲述一些原则,通过这些原则将服务保障工作做好。 首先,数据中心要对每次需要保障的业务弄得清清楚楚,抓住痛点,解决痛点。如果是大型的节假日,这时考验的是数据中心整体业务的稳定性,尤其是节假日哪些应用访问量会增大,要提前做预案,根据往年积累的经验积极应对。如果往年系统出现了这样那样的问题,一定在这次的服务保障之前消除掉隐患。如果是电商促销,就要关注集中时间内访问用户的数量,模拟大规模数量的访问用户,看系统是否可以承受,这时就要关注计算、带宽这些资源是否足够,可能不足的地方要及时补全。一个数据中心可能承载...
相关文章
文章评论
共有0条评论来说两句吧...