分组取值、求和、计数

  

 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. 安装 NetworkManager(Debian最小化安装)

    Debian最小化安装是没有NetworkManager 1 安装: 2 [root@debian]apt install -y netwok-manager 1 启动(查看网卡): 2 [root@ ...

  2. Excel 查找函数(一):LOOKUP

    序号 员工姓名 部门 职务 1 苏霞 法务部 法律顾问 2 包志林 财务部 财务总监 3 林娥云 安监部 部长 4 石少卿 质检部 质检员 5 于炳福 生产部 生产部 6 蒋琼志 仓储部 保管员 7 ...

  3. mybatis-plus 生成全套crud

    pom依赖: <!-- web依赖--> <dependency> <groupId>org.springframework.boot</groupId> ...

  4. Semaphore-停车场

    模拟20辆车进停车场 停车场容纳总停车量5. 当一辆车进入停车场后,显示牌的剩余车位数响应的减1. 每有一辆车驶出停车场后,显示牌的剩余车位数响应的加1. 停车场剩余车位不足时,车辆只能在外面等待 p ...

  5. 【java】基础1-字符串、堆、栈、静态与引用类型

    /*结论:1,一般变量(int,float,boolean..)使用==比较,引用类型(String,int[],对象)使用equals比较.2,一般的变量存放在栈中,new出来的对象都存放在堆中,字 ...

  6. for--else大坑问题

    这是一次偶然发现的问题,做一下记录 a = [{'w0', 'b0', 'v0'}, {'w1', 'b1', 'v1'}, {'w2', 'b2', 'v2'}] for i in a: for j ...

  7. Netty整合STOMP

    1.STOMP协议简介 常用的WebSocket协议定义了两种传输信息类型:文本信息和二进制信息.类型虽然被确定,但是他们的传输体是没有规定的,也就是说传输体可以自定义成什么样的数据格式都行,只要客户 ...

  8. KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(同一主机)

    案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...

  9. KingbaseES R3 集群cluster日志切割和清理案例

    案例说明: 对于KingbaseES R3集群的cluster日志默认系统是不做切割和清理的,随着运行时长的增加,日志将增长为一个非常大的文件,占用比较大的磁盘空间,并且在分析问题读取大文件时效率很低 ...

  10. flutter系列之:flutter中常用的ListView layout详解

    目录 简介 ListView详解 ListView中的特有属性 ListView的构造函数 ListView的使用 总结 简介 ListView是包含多个child组件的widget,在ListVie ...