在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
HelloData分析:1、HelloData.FrameWork:为数据库底层框架,支持多种数据库操作,加入了BaseEntity与BaseLogic,BaseManager两个有关业务逻辑的继承方式。在数据库生成model的时候使用T4生成,并且生成的数据库表对应的对象类为部分类(partial),如果需要扩展加入当前对象的多个部分类即可。这样做的好处是将数据库生成的类与业务间的操作分离。BaseLogic的继承BaseLogic,T为操作数据库表对象的泛型,里面包含的常用的新增,删除,修改,获取一个实体,获取实体list,BaseManager<T, TU>,T为操作逻辑类,TU为操作逻辑对象类。继承后当前操作逻辑类为全局唯一实例,使用了单一模式,操作方法也是包含了那些常用的逻辑操作。书写Demo: using (DeleteAction delete = new DeleteAction(Entity)) { delete.SqlWhere(cms_user.Columns.id, "1,2,3,4,5", RelationEnum.In); delete.Excute(); return delete.ReturnCode; } using (UpdateAction update = new UpdateAction(Entity)) { update.SqlKeyValue(cms_user.Columns.createtime, null); update.SqlKeyValue(cms_user.Columns.password, "123456123"); update.Excute(); return update.ReturnCode; } using (SelectAction select = new SelectAction(Entity)) { if (!string.IsNullOrEmpty(username)) select.SqlWhere(cms_user.Columns.username, username, RelationEnum.Like, ConditionEnum.Or); select.SqlPageParms(pageSize); return select.QueryPage<cms_user>(pageIndex); } using (SelectAction action = new SelectAction("")) { action.SqlWhere(cms_user.Columns.username, "admin"); action.SqlWhere(cms_user.Columns.password, "123456"); PageList<cms_user> lists= action.QueryPage<cms_user>(1); return null; } 加入linq的支持,事务的操作,及多表关联的操作 /// <summary> /// linq方式指定条件插入 /// </summary> public void AddDemo2() { using (InserAction action = new InserAction(Entity)) { action.Cast<cms_user>() .SqlValue(u => u.username == "wangjun" && u.password == "123456") .UnCast().Excute(); } } /// <summary> /// 批量插入 /// </summary> public void AddDemo3() { using (InserAction action = new InserAction(new NullEntity())) { action.Cast().InsertList(() => new List<BaseEntity>() { new cms_user(){username="wangjun",password="123456"}, new TestUser(){} }); } } /// <summary> /// 查询一个实体 /// </summary> /// <returns></returns> public cms_user SelectDemo() { using (SelectAction action = new SelectAction(Entity)) { action.SqlWhere(cms_user.Columns.username, "wang", RelationEnum.LikeLeft); return action.QueryEntity<cms_user>(); } } public cms_user SelectDemo1() { using (SelectAction action = new SelectAction(Entity)) { action.Cast<cms_user>() .Where(user1 => user1.username == "wangjun"); return action.QueryEntity<cms_user>(); } } /// <summary> /// 获取第3组30条数据 /// </summary> /// <returns></returns> public PageList<cms_user> SelectDemo2() { using (SelectAction action = new SelectAction(Entity)) { action.SqlPageParms(30).Cast<cms_user>() .Where(user1 => user1.username == "wangjun"); return action.QueryPage<cms_user>(3); } } /// <summary> /// 事务操作 /// </summary> public void TranstionDemo() { MultiAction actions = new MultiAction(); for (int i = 0; i < 10; i++) { if (i % 4 == 0) { DeleteAction delete = new DeleteAction(Entity); delete.Cast<cms_user>().Where(u => u.username == "wangjun"); actions.AddAction(delete); } if (i % 4 == 1) { UpdateAction update = new UpdateAction(Entity); update.Cast<cms_user>() .Where(u => u.username == "wangjun") .UnCast() .SqlKeyValue(cms_user.Columns.password, "1234567"); actions.AddAction(update); } } try { actions.Commit(); } catch (Exception) { actions.Rollback(); } } 操作数据库的时候可以加入缓存,缓存现支持webcache,Redis,MemberCache ,后两种可以支持分布式部署操作;2、HelloData.FWCommon:包含加密解密;导出操作:txt,csv,excel;序列化与反序列化:二进制,json,soap,xml;其他的常用操作,例如:html操作,socket网络爬虫等。3、HelloData.FWExtend:这个为开发人员项目操作的,基于HelloData.FrameWork的扩展;4、HelloData.Web:里面加入url重写,多语言模块,ajax请求类似mvc的操作。操作demo: function ajaxdemo() { $.ajax({ type: 'POST', url: "ajax/demo/do", data: "{ 'result':{ 'Result':-1,'Message':'不支持GET请求','PostTime':'2012-2-2'},'ido':233}", contentType: "application/json", dataType: "json" }); } |
请发表评论