Light.Data- .Net 轻量级 ORM 框架

网友投稿 692 2022-10-18

Light.Data- .Net 轻量级 ORM 框架

Light.Data- .Net 轻量级 ORM 框架

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

PM> Install-Package Light.Data支持数据库

数据库说明
SqlServer安装`Light.Data.Mssql`类库, 支持SqlServer 2008或以上
Mysql安装`Light.Data.Mysql`类库, 支持Mysql 5.5或以上
Postgre安装`Light.Data.Postgre`类库, 支持Postgre9.3或以上

[基本操作](https://aquilahkj.github.io/Light.Data.Site/#/zh-

cn/?id=%e5%9f%ba%e6%9c%ac%e6%93%8d%e4%bd%9c)

基本CURD批量CUD支持事务处理支持数据字段默认值和自动时间戳支持数据字段读写控制查询结果指定类或匿名类输出查询直接插入数据表var context = new DataContext();// 查询单个数据var item = context.Query().Where(x => x.Id == 10).First();// 查询集合数据var list = context.Query().Where(x => x.Id > 10).ToList();// 新增数据var user = new TeUser() { Account = “foo”, Password = “bar”};context.Insert(user);// 修改数据user.Password = “bar1”;context.Update(user);// 删除数据context.Delete(user);

[数据汇总](https://aquilahkj.github.io/Light.Data.Site/#/zh-

cn/?id=%e6%95%b0%e6%8d%ae%e6%b1%87%e6%80%bb)

单列数据直接汇总多列数据分组汇总格式化分组字段汇总数据直接插入数据表// 普通汇总var list = context.Query () .Where (x => x.Id >= 5) .GroupBy (x => new LevelIdAgg () { LevelId = x.LevelId, Data = Function.Count () }) .ToList ();// 日期格式化统计var list = context.Query () .GroupBy (x => new RegDateFormatAgg () { RegDateFormat = x.RegTime.ToString(“yyyy-MM-dd”), Data = Function.Count () }) .ToList ();

[连表查询](https://aquilahkj.github.io/Light.Data.Site/#/zh-

cn/?id=%e8%bf%9e%e8%a1%a8%e6%9f%a5%e8%af%a2)

多表连接, 支持内连接, 左连接和右连接支持查询结果和汇总数据连接连接查询结果指定类或匿名类输出连接查询结果直接插入数据表// 内连接var join = context.Query () .Join((x,y) => x.Id == y.Id);// 统计结果连接实体表 var join = context.Query() .GroupBy(x => new { MId = x.MId, Count = Function.Count(), }) .Join((x, y) => x.MId == y.Id);

[执行SQL语句](https://aquilahkj.github.io/Light.Data.Site/#/zh-

cn/?id=%e6%89%a7%e8%a1%8csql%e8%af%ad%e5%8f%a5)

直接使用SQL语句和存储过程支持对象参数查询结果指定类或匿名类输出存储过程支持output参数// 普通参数var sql = “update Te_User set NickName=@P2 where Id=@P1”;var ps = new DataParameter[2];ps[0] = new DataParameter(“P1”, 5);ps[1] = new DataParameter(“P2”, “abc”);var executor = context.CreateSqlStringExecutor(sql, ps);var ret = executor.ExecuteNonQuery();// 对象参数var sql = “update Te_User set NickName={nickname} where Id={id}”;var executor = context.CreateSqlStringExecutor(sql, new { nickname = “abc”, id = 5 });var ret = executor.ExecuteNonQuery();

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:greenev- Python网络服务框架
下一篇:iBATIS- 数据持久层框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~