Light.Data是一个轻量级的基于dotnet standard 2.0的ORM框架, 通过对实体模型类的Attribute或者配置文件进行配置与数据表的对应关系. 使用核心类DataContext对数据表进行CURD的操作.
Light.Data
dotnet standard 2.0
Attribute
DataContext
CURD
PM> Install-Package Light.Data 支持数据库
cn/?id=%e5%9f%ba%e6%9c%ac%e6%93%8d%e4%bd%9c)
查询直接插入数据表
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);
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 ();
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);
cn/?id=%e6%89%a7%e8%a1%8csql%e8%af%ad%e5%8f%a5)
存储过程支持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();