C# Linq Group By 多个字段并返回给实体类List
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的更多相关文章
- 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 ...
- Linq Group By 多个字段
var counts = dal.QueryStatisticsCount(condition); var result = from p in counts group p by new { Auc ...
- resultMap自定义映射---8.3.1. 解决列名(表中的字段名称)和实体类中的属性名不一致
1.1.1.1. 步骤一:将驼峰匹配注释掉 --------------测试完成后仍然 回来开启 其他地方可能用到 一旦注释掉驼峰匹配,那么再通过queryUserById查询的结果中,用 ...
- 一步一步学Linq to sql(二):DataContext与实体
DataContext DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入 ...
- LINQ to SQL 建立实体类
使用LINQ to SQL时,需要首先建立用于映射数据库对象的模型,也就是实体类.在运行时,LINQ to SQL 根据LINQ表达式或查询运算符生成SQL语句,发送到数据库进行操作.数据库返回后,L ...
- LINQ to SQL 建立实体类 (转)
http://www.cnblogs.com/DebugLZQ/archive/2012/11/14/2770449.html 使用LINQ to SQL时,需要首先建立用于映射数据库对象的模型,也就 ...
- Mybatis——实体类属性名和数据库字段名不同时的解决方案
数据库的字段: 对应的实体类: 方案一: 在XML映射文件中使用的resultMap,优点:可以被重复使用. <resultMap id="BaseResultMap" ty ...
- 【java】实体类中 Set<对象> 按照对象的某个字段对set排序
背景: User实体类 有个属性是 Set<PositionChange> 职位变更字段 如下: PositionChange实体类 有个属性是positionStartDate 什 ...
- 解决SpringDataJpa实体类中属性顺序与数据库中生成字段顺序不一致的问题
一.在application.yml配置中添加数据库根据实体类自动创建数据库表的配置(这里数据库采用MySQL数据库) jpa: database: MYSQL show-sql: true #Hib ...
随机推荐
- 关于PagedDataSource,非常好用的一个分页属性!
Asp.net提供了三个功能强大的列表控件:DataGrid.DataList和Repeater控件,但其中只有DataGrid控件提供分页功能.相对DataGrid,DataList和Repeate ...
- POJ 1759 Garland(二分+数学递归+坑精度)
POJ 1759 Garland 这个题wa了27次,忘了用一个数来储存f[n-1],每次由于二分都会改变f[n-1]的值,得到的有的值不精确,直接输出f[n-1]肯定有问题. 这个题用c++交可以 ...
- LIS n*log(n)的理解
很多时候lis 用二分的方法比较方便 这里写一下他的原理 这里仅对严格的最长上升子序列做讨论 这里有两个数列 一个数列是 原串的数列 a1-an 另一个数列是最长上升子序列辅助数列 s数列的长度为 ...
- PHP扩展开发(3)-config.m4
1. 宏命令 1.1. dnl 注释 1.2. 扩展的工作方式 1.2.1) PHP_ARG_WITH不需要第三方库 1.2.2) PHP_ARG_E ...
- 解决android studio 创建新项目后假死
概况:升级sdk编译api后,创建新的android项目后,在构建过程中假死:原有创建的项目 均运行正常:但是新建的项目只要build,电脑除了鼠标之外的,什么都动不了. 通过一系列的折腾,并重启了N ...
- code first 尝试
建表: 1.先用EF连接数据库,配置connectionStrings <configSections> <!-- For more information on Entity Fr ...
- SolrCloud初识
文章摘自:http://www.bubuko.com/infodetail-923588.html 一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Luce ...
- 安卓handler.post问题
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV ...
- cs代码实现控件移动TranslateTransform
xaml: <Rectangle> <Rectangle.RenderTransform> <TranslateTransform x:Name="myTran ...
- IOS 通过button获取cell
在使用tableview时,有时我们需要在cell中添加button和label,以便添加某项功能,而且往往点这个button的方法中需要知道button所在cell中label内存放的值. 一般而言 ...