分组取值、求和、计数

  

 1   var resultlist = orderllist.GroupBy(oo => new { oo.Deptname, oo.Userid, oo.Username })
2 .Select(ss => new OBreakfirstModel
3 {
4 Number = number++,
5 Deptname = ss.Key.Deptname,
6 Userid = ss.Key.Userid,
7 Username = ss.Key.Username,
8 Ototalamount = ss.Sum(s => s.Ototalamount),
9 Ocount = ss.Sum(s => s.Ocount)
10 });

主从表关联,对应多条明细数据

  

 1         var danzilist = DBconn.Query<ZuZModel>(sql_list, dynamicParameters).ToList();
2 var zijianlist= DBconn.Query<ZiMX>(sql_jian).ToList();
3 var resultlist = (from danzi in danzilist
4 select new ZuZhuangCXModel()
5 {
6 fid = danzi.fid,
7 rukurq=danzi.rukurq,
8 shiwulx=danzi.shiwulx,
9 wuliaobm=danzi.wuliaobm,
10 wuliaomc=danzi.wuliaomc,
11 wuliaolbdm=danzi.wuliaolbdm,
12 wuliaolbmc=danzi.wuliaolbmc,
13 shuliang=danzi.shuliang,
14 cangkuid=danzi.cangkuid,
15 cangkumc=danzi.cangkumc,
16 zijianmxs = (from zijian in zijianlist
17 where zijian.fid == danzi.fid
18 select new ZiJianMX()
19 {
20 fid = zijian.fid,
21 fdetailid = zijian.fdetailid,
22 wuliaobm = zijian.wuliaobm,
23 wuliaomc = zijian.wuliaomc,
24 cangkuid = zijian.cangkuid,
25 cangkumc = zijian.cangkumc,
26 shuliang = zijian.shuliang
27 }).ToList()
28 }).ToList();

分组去重

    var newycmxlist = ycmxlist.GroupBy(g => new { g.EMPI, g.SHIFOUXZ })
.Select(item => item.First()).ToList();

两表关联、排序、对象赋值、分组去重

           List<YiChangEMPIModel> ycmxlist = new List<YiChangEMPIModel>();
var yichang = from yc in AnalysisDbContext.EMPI_YC
from ycmx in AnalysisDbContext.EMPI_YCMX
where yc.ID == ycmx.ZHUBIAOID && (state == "*" ? 1==1: yc.SHIFOUXZ==state)
&& (yc.EMPI.Contains(text) || ycmx.SHENFENZH.Contains(text) || ycmx.XINGMING.Contains(text))
orderby yc.UPDATE_TIME descending
select new {
ID=yc.ID,
EMPI=yc.EMPI,
SHIFOUXZ=yc.SHIFOUXZ,
INSERT_TIME=yc.INSERT_TIME,
UPDATE_TIME=yc.UPDATE_TIME
};
foreach (var yc in yichang)
{
ycmxlist.Add(new YiChangEMPIModel
{
ID = yc.ID,
EMPI = yc.EMPI,
SHIFOUXZ = yc.SHIFOUXZ,
INSERT_TIME = yc.INSERT_TIME,
UPDATE_TIME = yc.UPDATE_TIME
});
}

两个 list 关联(inner join)

    //部门信息 关联 日志表 取出上次处理时间
//deptresult:包含各级部门和上传时间
var deptresult = (from t1 in dapartments
join t2 in logs on t1.DeptID equals t2.DeptID
             select new DepartmentInfoModel
{
CurntDeptID = t1.CurntDeptID,
CurntDeptName = t1.CurntDeptName,
DeptID = t1.DeptID,
DeptName = t1.DeptName,
LeaderID = t1.LeaderID,
LeaderName = t1.LeaderName,
Starttime = t2.Starttime,
Endtime = t2.Endtime
}).ToList();

两个 list 关联(left join)(list2 为空添加默认值)

    //部门信息 关联 日志表 取出上次处理时间
//deptresult:包含各级部门和上传时间
var deptresult = (from t1 in dapartments
join t2 in logs on t1.DeptID equals t2.DeptID into temp
from tempresule in temp.DefaultIfEmpty(
new SendLogModel { Starttime = Convert.ToDateTime("2020-12-22"), Endtime = Convert.ToDateTime("2020-12-22") })
select new DepartmentInfoModel
{
CurntDeptID = t1.CurntDeptID,
CurntDeptName = t1.CurntDeptName,
DeptID = t1.DeptID,
DeptName = t1.DeptName,
LeaderID = t1.LeaderID,
LeaderName = t1.LeaderName,
Starttime = tempresule.Starttime,
Endtime = tempresule.Endtime
}).ToList();

list.Remove 单个实例 / 多个实例

  

        List<TemplistExpenseModel> currentlist = templistExpenseModels;
if (userid != "" && userid != null)
{
currentlist.Where(ee => ee.Userid == userid).ToList().ForEach(cc => { templistExpenseModels.Remove(cc); });
return Json(new { code = 200, msg = "清除推送列表成功!" });
}

  

C# Linq 查询汇总的更多相关文章

  1. C#基础:LINQ 查询函数整理

    1.LINQ 函数   1.1.查询结果过滤 :where() Enumerable.Where() 是LINQ 中使用最多的函数,大多数都要针对集合对象进行过滤,因此Where()在LINQ 的操作 ...

  2. atitit. 集合groupby 的实现(2)---自定义linq查询--java .net php

    atitit.  集合groupby 的实现(2)---自定义linq查询--java .net php 实现方式有如下 1. Linq的实现原理流程(ati总结) 1 2. groupby  与 事 ...

  3. atitit. 集合groupby 的实现(2)---自己定义linq查询--java .net php

    atitit.  集合groupby 的实现(2)---自己定义linq查询--java .net php 实现方式有例如以下 1. Linq的实现原理流程(ati总结) 1 2. groupby   ...

  4. Entity Framework 6 Recipes 2nd Edition(13-6)译 -> 自动编译的LINQ查询

    问题 你想为多次用到的查询提高性能,而且你不想添加额外的编码或配置. 解决方案 假设你有如Figure 13-8 所示的模型 Figure 13-8. A model with an Associat ...

  5. LinqToDB 源码分析——轻谈Linq查询

    LinqToDB框架最大的优势应该是实现了对Linq的支持.如果少了这一个功能相信他在使用上的快感会少了一个层次.本来笔者想要直接讲解LinqToDB框架是如何实现对Linq的支持.写到一半的时候却发 ...

  6. Linq查询基本操作

    摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...

  7. 《Entity Framework 6 Recipes》中文翻译系列 (26) ------ 第五章 加载实体和导航属性之延缓加载关联实体和在别的LINQ查询操作中使用Include()方法

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-7  在别的LINQ查询操作中使用Include()方法 问题 你有一个LINQ ...

  8. Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)

    为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 ...

  9. c# Linq查询

    c#提供的ling查询极大的遍历了集合的查询过程,且使用简单方便,非常的有用. 下面将分别用简单的例子说明:ling基本查询.延迟查询属性.类型筛选.复合from字句.多级排序.分组查询.联合查询.合 ...

随机推荐

  1. Java 数字转汉字

    阿拉伯数字转汉字 public static String number2chinese(int src) { final String num[] = {"零", "一 ...

  2. .NET WebAPI 采用 IDistributedCache 实现分布式缓存过滤器 Redis 模式

    分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护. 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时. 与其 ...

  3. HTML引用CSS实现自适应背景图

    链接图片背景代码 body {background: url('链接') no-repeat center 0;} 颜色代码 body{background:#FFF} 链接图片背景代码2 <b ...

  4. 微服务网关Gateway实践总结

    有多少请求,被网关截胡: 一.Gateway简介 微服务架构中,网关服务通常提供动态路由,以及流量控制与请求识别等核心能力,在之前的篇幅中有说过Zuul组件的使用流程,但是当下Gateway组件是更常 ...

  5. CF-1675D. Vertical Paths

    题意:每次可以选择一条路径,要求这条路径中每个点都是上一个点的子节点,求最少需要几条路径将所有点走完 思路:将每个点有没有子节点判断出来,因为只有没有子节点的点需要新增一条路,所以需要路径的最小数目就 ...

  6. WebGPU实现Ray Packet

    大家好~本文在如何用WebGPU流畅渲染百万级2D物体?基础上进行优化,使用WebGPU实现了Ray Packet,也就是将8*8=64条射线作为一个Packet一起去访问BVH的节点.这样做的好处是 ...

  7. 《Java编程思想》读书笔记(三)

    前言:三年之前就买了<Java编程思想>这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第十一章到第十六章的内容,这一次 ...

  8. webgl(three.js)实现室内三维定位,3D定位,3D楼宇bim、实时定位三维可视化解决方案——第十四课(定位升级版)

    序: 还是要抽出时间看书的,迷上了豆豆的作品,最近在看<天幕红尘>,书中主人公的人生价值观以及修为都是让我惊为叹止.很想成为那样的人,但是再看看自己每天干的事,与时间的支配情况,真是十分的 ...

  9. Kingbase V8R6存储过程变量数据导出到操作系统文件

    Kingbase V8R6存储过程变量数据导出到操作系统文件 说明: KingbaseES V8R6如何将自定义过程中的变量数据导出到操作系统文件中. 本次案例数据库版本: test=# select ...

  10. KingbaseES 自增列三种方式

    KingbaseES中3种自增长类型sequence,serial,identity的区别: 对象 显示插入 显示插入后更新最大值 清空表后是否重置 是否跟事务一起回滚 多对象共享 支持重置 出现错误 ...