using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace study
{
class LinqGroup
{
static void Main(string[] args)
{
List<Employee> empList = new List<Employee>
{
new Employee {ID = , FName = "John", Age = , Sex = 'M', Money=},
new Employee {ID = , FName = "Mary", Age = , Sex = 'F', Money=},
new Employee {ID = , FName = "Amber", Age = , Sex = 'M', Money=},
new Employee {ID = , FName = "Kathy", Age = , Sex = 'F', Money=},
new Employee {ID = , FName = "Lena", Age = , Sex = 'F', Money=},
new Employee {ID = , FName = "Bill", Age = , Sex = 'M', Money=},
new Employee {ID = , FName = "Celina", Age = , Sex = 'F', Money=},
new Employee {ID = , FName = "John", Age = , Sex = 'M', Money=}
}; List<Employee> empGroupByList = (from a in empList
group a by new
{
a.FName,
a.Sex
} into b
orderby b.Key.FName, b.Key.Sex
select new Employee
{
FName = b.Key.FName,
Sex=b.Key.Sex,
Age = b.Sum(c => c.Age),
ID = b.Max(c => c.ID),
Money = b.Average(c => c.Money)
}).ToList<Employee>();
foreach (var item in empGroupByList)
{
Console.WriteLine("item.ID = " + item.ID);
Console.WriteLine("item.FName = " + item.FName);
Console.WriteLine("item.Age = " + item.Age);
Console.WriteLine("item.Sex = " + item.Sex);
Console.WriteLine("item.Money = " + item.Money);
Console.WriteLine("------------------------");
} Console.ReadKey();
}
} public class Employee
{
public int ID { get; set; }
public string FName { get; set; }
public int Age { get; set; }
public char Sex { get; set; }
public decimal Money { get; set; }
}
}

C# Linq Group By 多个字段并返回给实体类List的更多相关文章

  1. linq group by多个字段,返回多个字段.

    直接上例子.var wflist = from u in db.TWelFare where u.fy_no == fy_no orderby u.we_no group u by new { wen ...

  2. Linq Group By 多个字段

    var counts = dal.QueryStatisticsCount(condition); var result = from p in counts group p by new { Auc ...

  3. resultMap自定义映射---8.3.1. 解决列名(表中的字段名称)和实体类中的属性名不一致

    1.1.1.1.      步骤一:将驼峰匹配注释掉 --------------测试完成后仍然 回来开启  其他地方可能用到 一旦注释掉驼峰匹配,那么再通过queryUserById查询的结果中,用 ...

  4. 一步一步学Linq to sql(二):DataContext与实体

    DataContext DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入 ...

  5. LINQ to SQL 建立实体类

    使用LINQ to SQL时,需要首先建立用于映射数据库对象的模型,也就是实体类.在运行时,LINQ to SQL 根据LINQ表达式或查询运算符生成SQL语句,发送到数据库进行操作.数据库返回后,L ...

  6. LINQ to SQL 建立实体类 (转)

    http://www.cnblogs.com/DebugLZQ/archive/2012/11/14/2770449.html 使用LINQ to SQL时,需要首先建立用于映射数据库对象的模型,也就 ...

  7. Mybatis——实体类属性名和数据库字段名不同时的解决方案

    数据库的字段: 对应的实体类: 方案一: 在XML映射文件中使用的resultMap,优点:可以被重复使用. <resultMap id="BaseResultMap" ty ...

  8. 【java】实体类中 Set<对象> 按照对象的某个字段对set排序

    背景: User实体类 有个属性是 Set<PositionChange> 职位变更字段 如下: PositionChange实体类  有个属性是positionStartDate   什 ...

  9. 解决SpringDataJpa实体类中属性顺序与数据库中生成字段顺序不一致的问题

    一.在application.yml配置中添加数据库根据实体类自动创建数据库表的配置(这里数据库采用MySQL数据库) jpa: database: MYSQL show-sql: true #Hib ...

随机推荐

  1. map的使用方法

    package cn.stat.p8.map.demo; import java.util.Collection; import java.util.HashMap; import java.util ...

  2. 武汉科技大学ACM :1003: 零起点学算法67——统计字母数字等个数

    Problem Description 输入一串字符,统计这串字符里的字母个数,数字个数,空格字数以及其他字符(最多不超过100个字符) Input 多组测试数据,每行一组 Output 每组输出一行 ...

  3. shell中的eval

    eval语法 eval arg1 arg2 ... eval的作用就是将后面的参数arg1 arg2等等当成一个pipeline,然后重新执行shell处理pipeline的流程(有关pipeline ...

  4. [Android分享] 如何解决Android 5.0中出现的警告:Service Intent must be explicit

    Android 5.0程序运行报Service Intent must be explicit错误,原因是5.0的service必须显式调用 改成 Intent intent = new Intent ...

  5. mysql 5.6 参数详解

    系统变量提供的是各种与服务器配置和功能有关的信息.大部分的系统变量都可以在服务器启动时进行设置.在运行时,每一个系统变量都拥有一个全局值或会话值,或者同时拥有这两个值.许多系统变量都是动态的,也就是说 ...

  6. Mysql学习(慕课学习笔记8)插入、更新、删除记录

    插入记录 Insert[]into] tb1_name[(col_name,…..)] 自动编号的字段,可以用values default Default 可以赋予默认值 INSERT USERS V ...

  7. Json,Ajax(0516)

    一.JSON简介: JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读,同时也方便了机器进行解析和生成.JSON简单说就是java ...

  8. 项目中redis类似MVC的使用

  9. pyqt5通过文本对话框打开文件

    点击按钮,打开文本对话框,找一人文件,打开并显示内容 QFIleDialog                                                              ...

  10. ida idc函数列表全集

    下面是函数描述信息中的约定: 'ea' 线性地址 'success' 0表示函数失败:反之为1 'void'表示函数返回的是没有意义的值(总是0) AddBptEx AddBpt AddCodeXre ...