前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linq分组数据累加

Linq分组数据累加

作者头像
PHY_68
发布2020-09-16 14:36:56
1.4K0
发布2020-09-16 14:36:56
举报
文章被收录于专栏:laopan技术分享laopan技术分享

Linq分组数据累加

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:MVC

作者:盘洪源

撰写时间:2019年7月17日星期三

在做一些数据表格统计的时候,我们需要的就是将数据累加起来然后还要分成一组一组这样,这样的数据看起来易懂,好分析,看下图

看上面这个就是通过一个颜色来进行一个分组然后再累加数据,这样就可以清楚的知道每个颜色的进货数量,这个的账目看起来就比较清楚了。

这个效果怎么做呢?看下代码

var list = (from tbCommodity in myModels.S_Commodity

join tbCommodityDetail in myModels.S_CommodityDetail on tbCommodity.CommodityID equals tbCommodityDetail.CommodityID

join tbStockDetail in myModels.S_StockDetail on tbCommodityDetail.CommodityDetailID equals tbStockDetail.CommodityDetailID

join tbStock in myModels.S_Stock on tbStockDetail.StockID equals tbStock.StockID

where tbStock.BillsDate>=time1s&&tbStock.BillsDate<=time2s

select new

{

tbCommodity.SupplierID,

Amount = tbStockDetail.Amount,

ToMoney = tbCommodity.DropPrice * tbStockDetail.Amount,

ToMoneys = tbCommodity.EvolvePrice * tbStockDetail.Amount

} into dbRepertoryCount

group dbRepertoryCount by dbRepertoryCount.SupplierID into temp

select temp).ToList();

首先先联表把你所需要的数据先查询出来,然后再进行一个分组,这个如果联表查数据这个就不用多说了吧!

然后这句就是通过这个外键ID来进行一个分组,上面这个代码应该很容易看到懂的

group dbRepertoryCount by dbRepertoryCount.SupplierID into temp

然后就是累加数据了,上面这个查出来的数据应该是个二维数组这样的格式,自已查出来的时候自已可以看一下。

首先一个for循环上面查出来的数据

for (int i = 0; i < list.Count; i++)

然后再遍历这个数据

foreach (var item in list[i])

遍历里面就可以做自已想做的累加数据了,这个累加数据简单的就不说了。

然后我这里遍历完了后是选择放入session中的然后再重session中查询出来,

也可以用其他方式也可以,总之方法又不是死的,只要能想的出来就就行了。

这个分组查数据大概就是这样了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档