Light.Data是一个轻量级的基于dotetstadard2.0的ORM框架,通过对实体模型类的Attribute或者配置文件进行配置与数据表的对应关系.使用核心类DataCotext对数据表进行CURD的操作.
PM>Istall-PackageLight.Data支持数据库数据库说明SqlServer安装Light.Data.Mssql类库,支持SqlServer2008或以上Mysql安装Light.Data.Mysql类库, 支持Mysql5.5或以上Postgre安装Light.Data.Postgre类库, 支持Postgre9.3或以上基本操作基本CURD批量CUD支持事务处理支持数据字段默认值和自动时间戳支持数据字段读写控制查询结果指定类或匿名类输出查询直接插入数据表varcotext=ewDataCotext();//查询单个数据varitem=cotext.Query<TeUser>().Where(x=>x.Id==10).First();//查询集合数据varlist=cotext.Query<TeUser>().Where(x=>x.Id>10).ToList();//新增数据varuser=ewTeUser(){Accout="foo",Password="bar"};cotext.Isert(user);//修改数据user.Password="bar1";cotext.Update(user);//删除数据cotext.Delete(user);数据汇总单列数据直接汇总多列数据分组汇总格式化分组字段汇总数据直接插入数据表//普通汇总varlist=cotext.Query<TeUser>().Where(x=>x.Id>=5).GroupBy(x=>ewLevelIdAgg(){LevelId=x.LevelId,Data=Fuctio.Cout()}).ToList();//日期格式化统计varlist=cotext.Query<TeUser>().GroupBy(x=>ewRegDateFormatAgg(){RegDateFormat=x.RegTime.ToStrig("yyyy-MM-dd"),Data=Fuctio.Cout()}).ToList();连表查询多表连接,支持内连接,左连接和右连接支持查询结果和汇总数据连接连接查询结果指定类或匿名类输出连接查询结果直接插入数据表//内连接varjoi=cotext.Query<TeUser>().Joi<TeUserExted>((x,y)=>x.Id==y.Id);//统计结果连接实体表varjoi=cotext.Query<TeMaiTable>().GroupBy(x=>ew{MId=x.MId,Cout=Fuctio.Cout(),}).Joi<TeSubTable>((x,y)=>x.MId==y.Id);执行SQL语句直接使用SQL语句和存储过程支持对象参数查询结果指定类或匿名类输出存储过程支持output参数//普通参数varsql="updateTe_UsersetNickName=@P2whereId=@P1";varps=ewDataParameter[2];ps[0]=ewDataParameter("P1",5);ps[1]=ewDataParameter("P2","abc");varexecutor=cotext.CreateSqlStrigExecutor(sql,ps);varret=executor.ExecuteNoQuery();//对象参数varsql="updateTe_UsersetNickName={ickame}whereId={id}";varexecutor=cotext.CreateSqlStrigExecutor(sql,ew{ickame="abc",id=5});varret=executor.ExecuteNoQuery();










评论