Bouyei.DbFactory .net 多种数据库统一接口开源项目

我要开发同款
匿名用户2017年06月25日
159阅读

技术信息

开源地址
https://gitee.com/bouyei/Bouyei.DbFactory
授权协议
MIT

作品详情

开发库主要实现功能多个数据库统一接口,CRUD简化快速使用,类似mybatis框架,具体功能如下:

一、

1)、.et统一数据库接口库,支持SQLserver,DB2,Oracle,MySQL,Postgresql,access,sqlite等;

2)、支持.etCore2.0,.etframework,.etstadard2.0+

3)、sql脚本简单Liq条件表达式的CRUD操作

4)、实体映射赋值

5)、单表分页查询

 

二、例子sql脚本增删查改生成例子    //生成简单查询脚本

      ISqlProvidersqlProvider=SqlProvider.CreateProvider();

      //groupby       strigsqlgroupby=sqlProvider.Select<User>().Cout().From<User>()        .Where(x=>x.uage==1).GroupBy<User>().SqlStrig;

      //fuctio       strigsqlfu=sqlProvider.Select<User>(ewMax("age")).From<User>().Where(x=>x.uage>20).SqlStrig;

      //orderby      varosql=sqlProvider.Select<User>().From<User>().OrderBy(SortType.Asc,"ame").SqlStrig;

      vardic=ewDictioary<strig,object>();      dic.Add("ame","hellow");      dic.Add("age",0);      dic.Add("score",1.0);

      //MappedName测试      varsqls=sqlProvider.Isert<UserDto>().Values(ewUserDto[]{ewUserDto(){         Pwd="ds",         UserName="d"      }}).SqlStrig;

      //查询      varsql=sqlProvider.Select<User>()         .From().Where(x=>x.id==1).Top(FactoryType.PostgreSQL,10).SqlStrig;

      //修改      sql=sqlProvider.Update<User>()        .Set(ewUser(){uame="bouyei"})        .Where<User>(x=>x.id==1||(x.uame=="b"&&x.score==2)).SqlStrig;

      //删除      sql=sqlProvider.Delete()        .From<User>().Where(x=>x.uame=="bouyei").SqlStrig;

      //插入      sql=sqlProvider.Isert<User>()        .Values(ewUser[]{        ewUser(){uame="hello",uage=12}        ,ewUser(){uame="bouyei",uage=23}}).SqlStrig;

2、增删查改操作例子

            IAdoProviderdbProvider=AdoProvider.CreateProvider(coectioStrig,FactoryType.PostgreSQL);      varext=dbProvider.Coect(coectioStrig);

          //原生脚本执行

      varadort=dbProvider.Query(ewParameter()      {        CommadText="select*frompublic.db_user"      });       //查询      varrt=dbProvider.Query<User>(x=>x.uage>=20);

      //单表分页 查询语法      vartakert=dbProvider.PageQuery<User>(x=>x.uage==30,0,10);

      //更改      vardic=ewDictioary<strig,object>();      dic.Add("ame","hellow");      dic.Add("age",0);      dic.Add("score",1.0);      dbProvider.Update<User>(dic,x=>x.id==1);

          //删除操作

      dbProvider.Delete<User>(x=>x.uame=="bouyei");

         //插入      varusers=ewUser[]{      ewUser(){uame="bouyei",score=100,uage=30},      ewUser(){uame="八渡",score=10,uage=20}      };      dbProvider.Isert(users);

3、mapper实体,实体对象复制到新对象

             Useru=ewUser(){          uame="b",           id=1        };

        Userb=ewUser(){           uame="a",           id=2        };

              //u对象定义的变量复制给b对象,条件是只复制ame等变量名        EtityMapper.MapTo(u,b,FilterType.Iclude,"ame");

 

4、实体或服务继承实现基本的增删查改操作无需写sql脚本

 [MappedName("db_user")]  publicclassUserDto:BaseMapper<UserDto>  {    publicstrigUserName{get;set;}

    [Igore]    publicstrigPwd{get;set;}

    

        publicvoidAddUser(UserDtouser)    {      base.Isert(user);    }

    publicvoidDeleteById(strigame)    {      base.Delete(x=>x.UserName==ame);    }

    publicvoidUpdateUser(UserDtodto)    {      base.Update(dto,x=>x.UserName=="bouyei");    }

    publicList<UserDto>QueryUsers(itpage=0,itsize=10)    {      returbase.Select(page,size,x=>true);    }

  }

  publicclassfc3d:BaseMapper<fc3d>  {    publicstrigfame{get;set;}

    publiclogfcode{get;set;}  }

  publicclassBaseMapper<T>:TableMapper<T>whereT:class  {    publicBaseMapper()    {      strigcostr="Host=127.0.0.1;Port=5432;Userid=postgres;Password=bouyei;Database=postgres;";      varprovider=AdoProvider.CreateProvider(costr,FactoryType.PostgreSQL);      Iitialized(provider);    }  }

功能介绍

开发库主要实现功能多个数据库统一接口,CRUD简化快速使用,类似mybatis框架,具体功能如下: 一、 1)、.net 统一数据库接口库,支持 SQL server,DB2,Oracle,My...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论