美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Linq使用GroupBy详细分析

Linq有很多值得学习的地方,这里我们主要介绍Linq使用Group By,包括介绍Linq简单形式等方面。

创新互联建站是网站建设技术企业,为成都企业提供专业的网站制作、成都网站设计,网站设计,网站制作,网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制适合企业的网站。十载品质,值得信赖!

1.简单形式:

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select g; 

语句描述:Linq使用Group By按CategoryID划分产品。

说明:from p in db.Products 表示从表中将产品对象取出来。group p by p.CategoryID into g表示对p按CategoryID字段归类。其结果命名为g,一旦重新命名,p的作用域就结束了,所以,***select时,只能select g。

2.***值

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. MaxPrice = g.Max(p => p.UnitPrice)  
  7. }; 

语句描述:Linq使用Group By和Max查找每个CategoryID的***单价。

说明:先按CategoryID归类,判断各个分类产品中单价***的Products。取出CategoryID值,并把UnitPrice值赋给MaxPrice。

3.最小值

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. MinPrice = g.Min(p => p.UnitPrice)  
  7. }; 

语句描述:Linq使用Group By和Min查找每个CategoryID的***单价。

说明:先按CategoryID归类,判断各个分类产品中单价最小的Products。取出CategoryID值,并把UnitPrice值赋给MinPrice。

4.平均值

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. AveragePrice = g.Average(p => p.UnitPrice)  
  7. }; 

语句描述:Linq使用Group By和Average得到每个CategoryID的平均单价。

说明:先按CategoryID归类,取出CategoryID值和各个分类产品中单价的平均值。

5.求和

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. TotalPrice = g.Sum(p => p.UnitPrice)  
  7. }; 

网页名称:Linq使用GroupBy详细分析
本文链接:http://www.zsjierui.cn/article/djhheje.html

其他资讯