LnskyDB是基於Dapper的Lambda擴展,支持按時間分庫分表,也能夠自定義分庫分表方法.並且能夠T4生成實體類免去手寫實體類的煩惱.git
文檔地址: https://liningit.github.io/LnskyDB/github
開源地址: https://github.com/liningit/LnskyDBapp
nuget地址: https://www.nuget.org/packages/LnskyDB/大數據
在此很是感謝SkyChenSky其中lambda表達式的解析參考了他的開源項目code
Lambda表達式查詢方便
基於Dapper的Lambda表達式擴展能夠方便的進行查詢篩選操做對象
支持分庫分表
默認支持按年分庫按月分表,也支持自定義分庫分表.今後大數據不用愁接口
T4自動生成實體
有T4模板自動生成實體類,不再用手寫那些煩人的實體類了.倉儲類及接口也支持自動生成ci
使用門檻低,快速上手
使用很是簡單,能夠快速上手文檔
v2.0版本支持多表查詢了
步驟以下get
IQuery.OuterJoin
或者IQuery.InnerJoin
進行連表查詢,返回IJoinQuery對象.IJoinQuery.And,Or
進行條件過濾.調用Select
返回ISelectResult
.GetList
或GetPaging
進行返回結果.var repository = GetRepository(); var query = QueryFactory.Create<ProductSaleByDayNSEntity>(m => DBFunction.Function<DateTime>("ISNULL", m.UpdateDate, DateTime.Now) > new DateTime(2019, 6, 26)); var jq = query.InnerJoin(QueryFactory.Create<ShopEntity>(), 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