大佬教程收集整理的这篇文章主要介绍了用 .SqlSugar ORM 来实现报表功能 .NET CORE /.NET,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_801_2@ 基础查询 |
|
基础查询 | 查询单条、主键查询、查所有、模糊查询、排序、TOP 、Count、IN等等操作 |
分页查询 | 分页查询 |
分组查询 | 分组查询和去重复 Group by DisTinct |
排序 | Order by 、随机排序、动态排序 |
@H_801_2@ 多表查询@H_874_51@ | |
联表查询 | 使用Left Join Inner Join进行查询 |
配置查询 | 简化联表操作,解决字典联表和简单Name联表问题 |
@H_801_2@ 子查询 @H_801_2@ 2个Queryable Join | 查询中套查询,2个结果集进行JOIN等操作 |
导航查询 | 一对多 、一对一、多对多操作 ,有层级的查询 |
并集查询 | union all |
树型查询 | 查询出一个树形结构,比如菜单 |
@H_801_2@
业务查询 |
|
无实体查询 | 没有实体查询 |
表格查询 | 前端组装好查询条件,后台直接使用 |
全局过滤器 | 比如很多地方用到假删除,那么我们可以配置加上Isdeleted |
多库查询 | 如果表结构一样,那我们可以用一个实体操作不同表 |
@H_801_2@ 高级功能 | |
二级缓存 | 支持redis等缓存,让你不需要维护 CacheKey轻松使用缓存来提高服务器性能 |
异步查询 | 使用异步进行查询 |
Sqlfun函数 | 使用sqlSugar自带的数据库函数查询 |
扩展Sql函数 | 当有些ORM不能解析的功能,可以自已封装SQL函数 |
@H_801_2@ Queryable@H_874_51@ | |
SELEct用法 | 一列、多列、匿名对象、多表映射等 |
Where用法 | 表达式、拼表达式、Sql、动态条件 等 |
生命周期 | 原理、引用类型、拷贝机制 |
执行查询 | @H_801_2@ ToList First ToDateTable ToJson ToTree ToParentList ToSql ToPivotList ToPivotTable @H_801_2@ ToClassString ToDictionary ToDictionaryList Count Any Sum @H_801_2@ Max Min |
@H_801_2@报表 | |
报表查询 | @H_801_2@让ORM可以方便的实现报表统计 |
Sql查询 | @H_801_2@sql语句查询和分页 |
var queryableLeft = db.Reportable(ReportableDateType.MonthsInLast1years).ToQueryable<datetiR_895_11845@e>(); //生成月份 //ReportableDateType.MonthsInLast1yea 表式近一年月份 并且queryable之后还能在where过滤 var queryableRight = db.Queryable<operateinfo>(); //声名表 //月份和表JOIN var list= db.Queryable(queryableLeft, queryableRight, JoinType.Left, (x1, x2) => x2.operate_time.ToString("yyyy-MM")== x1.columnName .ToString("yyyy-MM")) .GroupBy((x1,x2)=>x1.columnName) .SELEct((x1, x2) => new { count=SqlFunc.AggregateSum(SqlFunc.IIF(x2.id>0,1,0)) , //null的数据要为0所以不能用count date=x1.columnName.ToString("yyyy-MM") } ).ToList();
var days = (time.AddMonths(1) - timE).Days;//获取1月天数 var dayArray = Enumerable.Range(1, days).SELEct(it=> time.ToString("yyyy-MM-"+it)).ToList();//转成时间数组 var queryableLeft = db.Reportable(dayArray).ToQueryable<datetiR_895_11845@e>(); var queryableRight = db.Queryable<operateinfo>(); var list = db.Queryable(queryableLeft, queryableRight, JoinType.Left, (x1, x2) => x1.columnName.Date==x2.operate_time.DatE) .GroupBy((x1, x2) => x1.columnName) .SELEct((x1, x2) => new { count = SqlFunc.AggregateSum(SqlFunc.IIF(x2.id > 0, 1, 0)), day = x1.columnName.Day }).ToList();
var days = (time.AddMonths(1) - timE).Days;//获取1月天数 var dayArray = Enumerable.Range(1, days).SELEct(it=> time.ToString("yyyy-MM-"+it)).ToList();//转成时间数组 var queryableLeft = db.Reportable(dayArray).ToQueryable<datetiR_895_11845@e>(); var queryableRight = db.Queryable<operateinfo>(); var list = db.Queryable(queryableLeft, queryableRight, JoinType.Left, (x1, x2) => x1.columnName.Date==x2.operate_time.DatE) .GroupBy((x1, x2) => x1.columnName) .SELEct((x1, x2) => new { count = SqlFunc.AggregateSum(SqlFunc.IIF(x2.id > 0, 1, 0)), day = x1.columnName.Day, name="合计" }).ToPivotTable(it => it.day, it => it.name, it => it.Sum(x => x.count));
var list = new List<OrderItem>() { new OrderItem(){ CreateTime=datetiR_895_11845@e.Now, OrderId=1, Price=100 }, new OrderItem(){ CreateTime=datetiR_895_11845@e.Now, OrderId=2, Price=120 } }; var query1 = db.Queryable<Order>(); var queryable2 = db.Reportable(list).ToQueryable(); var x = db.Queryable(query1, queryable2, (x1, x2) => x1.Id.Equals(x2.orderId)) .SELEct((x1, x2) => new { name = x1.Name,id=x1.Id, orderid = x2.orderId }).ToList();
以上是大佬教程为你收集整理的用 .SqlSugar ORM 来实现报表功能 .NET CORE /.NET全部内容,希望文章能够帮你解决用 .SqlSugar ORM 来实现报表功能 .NET CORE /.NET所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。