• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

hellodata: HelloData.FrameWork:为数据库底层框架,支持多种数据库操作 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

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"        });    }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lightweb: A light web framework.发布时间:2022-02-13
下一篇:
FlaskMVC: flask框架开发的mvc发布时间:2022-02-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap