示例, linq分组
public class HIS_CLIREGISTER : BaseModel
{
private String _FBCODE;
[StringLength(8)]
/// <summary>
/// 费别
/// </summary>
public String FBCODE
{
get { return _FBCODE; }
set
{
if (_FBCODE != value && RowState == RowStateFlags.ROW_Original)
{
RowState = RowStateFlags.ROW_Edited;
}
_FBCODE = value;
}
}
private String _USERNAME;
[StringLength(20)]
/// <summary>
/// 操作人
/// </summary>
public String USERNAME
{
get { return _USERNAME; }
set
{
if (_USERNAME != value && RowState == RowStateFlags.ROW_Original)
{
RowState = RowStateFlags.ROW_Edited;
}
_USERNAME = value;
}
}
private decimal _REGFEE;
/// <summary>
/// 挂号费
/// </summary>
public decimal REGFEE
{
get { return _REGFEE; }
set
{
if (_REGFEE != value && RowState == RowStateFlags.ROW_Original)
{
RowState = RowStateFlags.ROW_Edited;
}
_REGFEE = value;
}
}
public string FBNAME { get; set; }
public decimal perOfTotal { get; set; }
}
List<HIS_CLIREGISTER> CLIREGISTERS = new List<HIS_CLIREGISTER>();
List<HIS_CLIREGISTER> items = reportDomain.GetRecordsCLIREGCost(frmcrt.StartDt.ToString("yyyy-MM-dd"), frmcrt.EndDt.ToString("yyyy-MM-dd"), ref errorMessage);//取得数据集
decimal Total = items.Sum(s => s.REGFEE);
//费别分组
var itemsGB = from a in items.GroupBy(g => g.FBCODE) select new { a.Key, FBNAME = a.Max(m => m.FBNAME) };
foreach (var v in itemsGB)
{
List<HIS_CLIREGISTER> tmpItems = items.Where(w => w.FBCODE == v.Key).ToList();
//操作人分组
List<HIS_CLIREGISTER> itemsGB2 = (from a in tmpItems.GroupBy(g => g.USERNAME)
select new HIS_CLIREGISTER
{
FBCODE = v.Key,
USERNAME = a.Key,
FBNAME = v.FBNAME,
REGFEE = a.Sum(s => s.REGFEE),
perOfTotal = a.Sum(s => s.REGFEE) / Total
}).ToList();
CLIREGISTERS.AddRange(itemsGB2);
}
示例, linq分组的更多相关文章
- Linq分组功能
Linq在集合操作上很方便,很多语法都借鉴自sql,但linq的分组却与sql有一定的区别,故整理发布如下. 1. Linq分组 分组后以Key属性访问分组键值. 每一组为一个IEnumberAbl ...
- Linq分组操作之GroupBy,GroupJoin扩展方法源码分析
Linq分组操作之GroupBy,GroupJoin扩展方法源码分析 一. GroupBy 解释: 根据指定的键选择器函数对序列中的元素进行分组,并且从每个组及其键中创建结果值. 查询表达式: var ...
- Linq分组,linq方法分组
Group在SQL经常使用,通常是对一个字段或者多个字段分组,求其总和,均值等. Linq中的Groupby方法也有这种功能.具体实现看代码: 假设有如下的一个数据集: 01.public class ...
- Linq分组查询统计
这里介绍Linq使用Group By和Count得到每个CategoryID中产品的数量,Linq使用Group By和Count得到每个CategoryID中断货产品的数量等方面. 学经常会遇到Li ...
- C# 泛型分组和Linq分组的异同
没什么好说的,因为用的到,所以作个记录, 代码如下: using System; using System.Collections.Generic; using System.Linq; using ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 服务分组
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 服务分组 当一个接口有多种实现时,可以用group区分. <dubbo:se ...
- c# linq 分组groupby
转载: https://www.cnblogs.com/cncc/p/9846390.html 一.先准备要使用的类: 1.Person类: class Person { public string ...
- linq分组求和_实体类和datatable
1.数据分组求合,分别用的实体类以及datatable来分组求合,还有分组求和之后的如何取值 //实体类版本 List<ProgramTimeModel> TotalAllList = G ...
- LINQ分组取出第一条数据
Person1: Id=, Name="Test1" Person2: Id=, Name="Test1" Person3: Id=, Name="T ...
随机推荐
- (74)Wangdao.com第十三天_Object 对象_属性描述对象
Object 对象 JavaScript 原生提供 Object 对象 JavaScript 的所有其他对象都继承自 Object 对象,即那些对象都是Object的实例 Object 对象的原生方 ...
- Jenkins-权限管理
一.要对用户进行管理首先下载一个权限管理插件(系统管理>>>插件管理) Role-based Authorization Strategy 系统管理 >>>全局 ...
- 多个if语句和else if区别
多个if是所有的if都会进行判断if else if是只要有满足条件的,就不再对之后的else if进行判断比如a = 2;if(a==1) c=1;if(a==2) c=2;if(a%2==0) c ...
- MFC全屏显示和多窗口动态显示的一些技巧和方法
一.全屏 1.全屏窗口从dialogex继承,因为要处理一些东西 2.全屏代码,这样设置后尺寸不会出bug,只设置为最大值的话容易出bug //get current system resolutio ...
- complex类
#include<iostream> #include<cmath> using namespace std; class complex{ public: complex() ...
- springcloud学习第一坑
我是根据周立先生所写的<Spring+Cloud与Docker微服务架构实战>来学习SpringCloud的,我会记录下来我日常遇到的所有问题,包括但不仅只包括SpringCloud的问题 ...
- MySQL Server8.0版本时出现Client does not support authentication protocol requested by server
MySQL Server8.0版本时出现Client does not support authentication protocol requested by server 解决方法: 1.roo ...
- C++ 实验2
#include <iostream> using namespace std; template<class T> void insertionSort(T a[],int ...
- LAYUI layedit 富文本框内容的取值
js 1.第一种方法 2.第二种方法
- windows 下使用 protobuf
下载protobuf 下载地址:https://github.com/google/protobuf/releases 选择protoc-xxx-win32.zip下载 配置环境变量 将解压出来的pr ...