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

Bouyei.DbFactory: .net 统一数据库访问接口库,支持sql server ,db2,oracle,my sql,po ...

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

开源软件名称:

Bouyei.DbFactory

开源软件地址:

https://gitee.com/bouyei/Bouyei.DbFactory

开源软件介绍:

模块说明


#Bouyei.DbFactory 基于.net framework 4.6.1+

#Bouyei.DbFactoryCore基于.net core2.2+

#Bystd.DbFactory 基于.net standard 2.0+

Package


PackageNuGet
Bouyei.DbFactoryNuGet
Bouyei.DbFactoryCoreNuGet
Bystd.DbFactoryNuGet

Ado基本例子


string connectionString = "Data Source=.;Initial Catalog=testdb;User ID=sa;Password=bouyei;";IAdoProvider adoProvider = AdoProvider.CreateProvider(connectionString);var rt = adoProvider.Query(new Parameter(){	CommandText = "select * from MemUser"});//删除var del= adoProvider.Delete<user>(x => x.uname =="hkj" && (x.sex==Sex.Female ||x.uage==30));//插入  var insert = adoProvider.Insert<user>(new user() {             name="bouyei",             age=30        });//查询 like '%bouyei%'var users = adoProvider.Query<user>(x =>x.name.Contains("bouyei"));//分页查询var users = adoProvider.QueryPage<user>(x => 1 == 1,0,10);foreach (DataRow dr in rt.Result.Rows){	Console.WriteLine(string.Join(",", dr.ItemArray));}

表实体映射继承例子


//使用例子1private void execute(){    UserDto user = new UserDto()    {        UserName = "bouyei"    };    user.Insert(user);}//使用例子2public class DbMapperService:BaseEntity<UserDto>{    public int Insert(UserDto user)    {       return Insert(user);    }    public int UpdateDo(UserDto dto,Expression<Func<UserDto,bool>> whereClause)    {        return Update(dto, whereClause);    }}[MappedName("db_user")]public class UserDto:BaseEntity<UserDto>{    public string UserName { get; set; }    [Ignore]    public string Pwd { get; set; }}public class BaseEntity<T> : TableMapper<T> where T : class{    public BaseEntity()    {        string connstr = "Host=127.0.0.1;Port=5432;User id=postgres;Password=bouyei;Database=postgres;";        var provider = AdoProvider.CreateProvider(connstr, FactoryType.PostgreSQL);        Initilize(provider);    }}

表达式生成SQL例子


    //group by         string sqlgroupby = sqlProvider.Select<User>().Count().From<User>()            .Where(x => x.uage == 1).GroupBy<User>().SqlString;        //in 语法        string[] values = new string[] { "a","b"};        var inSql = sqlProvider.Select<User>().From().Where(x => values.Contains(x.uname)).SqlString;        //like 语法 '%bouyei%'        var likeSql = sqlProvider.Select<User>().From().Where(x => x.uname.Contains("bouyei")).SqlString;        //like 语法'bouyei%'        var beginSql = sqlProvider.Select<User>().From().Where(x => x.uname.StartsWith("bouyei") || x.uname.StartsWith("bb")).SqlString;        //like 语法'%bouyei'        var endSql = sqlProvider.Select<User>().From().Where(x => x.uname.EndsWith("bouyei")).SqlString;        //select count(*) from user where id=1        string commandText = sqlProvider.Select<User>(new Count("*")).From<User>().Where(x=>x.id==1).SqlString;        //function         string sqlfun = sqlProvider.Select<User>(new Max("age")).From<User>().Where(x=>x.uage>20).SqlString;        //order by        var osql = sqlProvider.Select<User>().From<User>().OrderBy(SortType.Asc, "name").SqlString;

鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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