开发库主要实现功能多个数据库统一接口,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); } }










评论