您的位置:首页 > 其它

CYQ.Data 轻量数据层之路 终极升级(二)

2012-03-09 00:00 302 查看
在上一篇:CYQ.Data 轻量数据层之路 开篇介绍(一)中,我们介绍了基本的类库与使用介绍。

上篇留言中虽然感觉好像很平静,不过不难想象,大伙仅勿勿一眼一扫而过的那种情景:

一个很沉重的心结,一直在很多开发人员的心里挥之不去:实体类。

大伙似乎都很排拆没有实体类的数据层框架,仅因早于习惯了ORM?

其实,我记得我第一次毕设的时候,也是有实体类的:

还记得很久前,毕设做的是仿QQ空间的CQ-Space空间,借用了CodeSmith生成实体类[里面集合了增删改查],来操作数据库,

也感受到了实体类带来的智能提示的开发快感!

这里顺路上几张遥远的图吧,怀念一下:

1:空间主站Logo



2:空间主站集合、用户排名和天气预报







3:后台管理界面



4:用户空间主界面:



5:用户相册和相片浏览效果





6:用户日志、发布日志





7:用户音乐



8:用户聊天室



上的图有点多,怀念多了一点^-^!回到正题先:

后来,进了第一家公司,一个老程序员带着我用纯SqlHelper+存储过程+代码生成工具做项目,完全忘记实体类的存在了!

再后来,新的技术总监加入,开发博客系列时,开发了这个框架,并将这个框架应用于项目中,中间也没有实体类的存在!

也许没有先入为主的概念,所以,没有实体类,并没对我造成多大的习惯干扰,反而有点排拆实体类了;

中间呢有一同事,大概离不开实体类了,于是,在此框架的基础上,又加多一层实体类调用,然后在界面层快乐的调用着它的实体类!

而我呢,早已经习惯此框架的开发,就连后来技术总监开发新的ORM框架时,我也小小排斥了一下,毕竟先入为主的观念那时还是很强烈的。

过了些年,我也不排拆实体类了,同时也写了好几个ORM型的框架,有实体+一堆存储过程的,也有实体+反射组合的;目前在用的也是ORM型的。

一路回想回去,其实,哪种都无所谓了,简单好用才是正理!

所以,此框架在重新面世时,我重写了很多代码,为的就是简单好用,配置简单!

其实,大伙纠结的,只是因为实体类”打点“的时候,有属性的智能提示,还是为了ORM而ORM呢?

我当初纠结的就只有“实体类的打点提示”功能了;

在上一节的里,虽然经过我精心的改造,加入了枚举来实现“打点”的智能提示,不过看起来仍没那么友善,大伙还是排拆多一点啊。

于是,今天又为它“插上两双翅膀”,让它从外层使用上脱离索引型的赋值,走上光明的不归路!

结果,代码又简洁了一番,见不着索引与枚举了:

1:添加


MAction action
=

new
MAction(TableNames.CQ_Album);
//
参数:枚举表名

action.GetFrom(txtUserId);
action.GetFrom(txtAlbumType);
action.GetFrom(txtAlbumName);

action.Insert();
action.Close();

2:更新:


MAction action
=

new
MAction(TableNames.CQ_Album);
action.GetFrom(txtAlbumName);
action.Update(
"
id=1
"
);
action.Close();

3:读取数据:


MAction action
=

new
MAction(TableNames.CQ_Album);

if
(action.Fill(
1
))
{
action.SetTo(lblAlbumName);
action.SetTo(lblAlbumType);
action.Close();
}

4:删除与查询,基本不涉及实体了,和上节一样,就不另贴代码了。

看到以上的操作,是否还觉得不方便呢?如果是,欢迎提供更为方便的操作方式,和大伙分享分享!

好了,本文点到为止了,欢迎下载使用:点击下载

原文链接:
http://www.cnblogs.com/cyq1162/archive/2010/08/13/1798631.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: