Light.Data .Net 轻量级 ORM 框架开源项目

我要开发同款
匿名用户2019年05月22日
16阅读
开发技术C#
所属分类ORM/持久层框架、程序开发
授权协议MIT

作品详情

Light.Data是一个轻量级的基于dotnetstandard2.0的ORM框架,通过对实体模型类的Attribute或者配置文件进行配置与数据表的对应关系.使用核心类DataContext对数据表进行CURD的操作.

PM>Install-PackageLight.Data支持数据库数据库说明SqlServer安装Light.Data.Mssql类库,支持SqlServer2008或以上Mysql安装Light.Data.Mysql类库, 支持Mysql5.5或以上Postgre安装Light.Data.Postgre类库, 支持Postgre9.3或以上基本操作基本CURD批量CUD支持事务处理支持数据字段默认值和自动时间戳支持数据字段读写控制查询结果指定类或匿名类输出查询直接插入数据表varcontext=newDataContext();//查询单个数据varitem=context.Query<TeUser>().Where(x=>x.Id==10).First();//查询集合数据varlist=context.Query<TeUser>().Where(x=>x.Id>10).ToList();//新增数据varuser=newTeUser(){Account="foo",Password="bar"};context.Insert(user);//修改数据user.Password="bar1";context.Update(user);//删除数据context.Delete(user);数据汇总单列数据直接汇总多列数据分组汇总格式化分组字段汇总数据直接插入数据表//普通汇总varlist=context.Query<TeUser>().Where(x=>x.Id>=5).GroupBy(x=>newLevelIdAgg(){LevelId=x.LevelId,Data=Function.Count()}).ToList();//日期格式化统计varlist=context.Query<TeUser>().GroupBy(x=>newRegDateFormatAgg(){RegDateFormat=x.RegTime.ToString("yyyy-MM-dd"),Data=Function.Count()}).ToList();连表查询多表连接,支持内连接,左连接和右连接支持查询结果和汇总数据连接连接查询结果指定类或匿名类输出连接查询结果直接插入数据表//内连接varjoin=context.Query<TeUser>().Join<TeUserExtend>((x,y)=>x.Id==y.Id);//统计结果连接实体表varjoin=context.Query<TeMainTable>().GroupBy(x=>new{MId=x.MId,Count=Function.Count(),}).Join<TeSubTable>((x,y)=>x.MId==y.Id);执行SQL语句直接使用SQL语句和存储过程支持对象参数查询结果指定类或匿名类输出存储过程支持output参数//普通参数varsql="updateTe_UsersetNickName=@P2whereId=@P1";varps=newDataParameter[2];ps[0]=newDataParameter("P1",5);ps[1]=newDataParameter("P2","abc");varexecutor=context.CreateSqlStringExecutor(sql,ps);varret=executor.ExecuteNonQuery();//对象参数varsql="updateTe_UsersetNickName={nickname}whereId={id}";varexecutor=context.CreateSqlStringExecutor(sql,new{nickname="abc",id=5});varret=executor.ExecuteNonQuery();

 

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

评论