本文共 1250 字,大约阅读时间需要 4 分钟。
LnskyDB是基于Dapper的Lambda扩展,支持按时间分库分表,也可以自定义分库分表方法.而且可以T4生成实体类免去手写实体类的烦恼.
文档地址:
开源地址:
nuget地址:
在此非常感谢SkyChenSky其中lambda表达式的解析参考了他的开源项目
Lambda表达式查询方便
基于Dapper的Lambda表达式扩展可以方便的进行查询筛选操作支持分库分表
默认支持按年分库按月分表,也支持自定义分库分表.从此大数据不用愁T4自动生成实体
有T4模板自动生成实体类,再也不用手写那些烦人的实体类了.仓储类及接口也支持自动生成使用门槛低,快速上手
使用非常简单,可以快速上手v2.0版本支持多表查询了
步骤如下IQuery.OuterJoin
或者IQuery.InnerJoin
进行连表查询,返回IJoinQuery对象.IJoinQuery.And,Or
进行条件过滤.调用Select
返回ISelectResult
.GetList
或GetPaging
进行返回结果.var repository = GetRepository();var query = QueryFactory.Create(m => DBFunction.Function ("ISNULL", m.UpdateDate, DateTime.Now) > new DateTime(2019, 6, 26));var jq = query.InnerJoin(QueryFactory.Create (), m => m.ShopID, m => m.SysNo, (x, y) => new { Sale = x, Shop = y });jq.And(m => m.Shop.ShopName.Contains("店铺"));jq.OrderByDescing(m => m.Sale.Sales + 1);jq.OrderBy(m => m.Sale.ProductName + m.Sale.OutProductID);jq.StarSize = 10;jq.Rows = 5;var res = jq.Select(m => m.Sale);var paging = repository.GetPaging(res);//也可以下面这样返回dto.第二个参数表示第一个表是否要查询所有列.var res2 = jq.Select(m => new PSDto { ShopName = m.Shop.ShopName }, true);var paging2 = repository.GetPaging(res2);var count = paging.TotalCount;var lst = paging.ToList();//或者paging.Items
转载地址:http://giuwk.baihongyu.com/