广州.NET培训
达内广州.NET培训中心

18589266248

热门课程

广州.Net培训机构熟悉LINQ to SQL语句:Count/Sum/Min/Max/Avg操作符

  • 时间:2017-04-25 17:00
  • 发布:广州.Net培训
  • 来源:广州.Net培训机构

广州.Net培训机构其实Count/Sum/Min/Max/Avg操作符类似于SQL中的聚合函数,用于统计数据,不延迟。如返回序列中的元素数量、求和、最小值、最大值、求平均值。

Count

广州.Net培训说明:用于返回集合中元素的个数,返回Int类型,生成SQL语句为SELECT COUNT(*) FROM

1.简单形式

返回订单数量。

var q = context.Orders.Count();

2.条件形式

返回中客户为伦敦的数量。

var q = context.Customers.Count(p => p.City == "London");

LongCount

说明:用于返回集合中元素的个数,返回Long类型,不延迟,可用于返回元素个数比较的集合,可视情况可以用LongCount来统计元素个数,返回Login类型比较精确。生成的SQL语句为SELECT COUNT_BIG(*) FROM。

var q = context.Customers.LongCount();

Sum

说明:用于返回集合数值类型元素之和,集合中的元素应为INT类型。不延迟。生成SQL语句为SELECT SUM(...) FROM

1.简单形式

返回订单的总运费:

var q = context.Orders.Select(n => n.Freight).Sum();

2.映射形式

返回商品的订货总数:

var q = context.Products.Sum(n => n.UnitsOnOrder);

Min

说明:返回集合中元素的最小值。不延迟。生成的SQL语句SELECT MIN(…) FROM

1.简单形式

返回商品价格最低的元素:

var q = context.Orders.Select(n => n.Freight).Min();

2.映射形式

返回订单中运费最低的元素:

var q = context.Orders.Min(o => o.Freight);

3.组合形式

查找每个类别中单价最低的元素:

var q = from p in context.Products

group p by p.CategoryID into t

select new

{

CategoryID = t.Key,

Cheapest = from p2 in t where p2.UnitPrice == t.Min(p3 => p3.UnitPrice) select p2

};

Max

说明:返回集合中元素的最大值。不延迟。生成的SQL语句为SELECT MAX(*) FROM

1.简单形式

返回商品单价最大的元素:

var t = db.Products.Select(n => n.UnitPrice).Max();

2.映射形式

var q = db.Products.Max(p => p.UnitPrice);

3.组合形式

查找每个类别中单价最大的元素:

var categories =

from p in db.Products

group p by p.CategoryID into g

select new {

g.Key,

MostExpensiveProducts =

from p2 in g

where p2.UnitPrice == g.Max(p3 => p3.UnitPrice)

select p2

Avg

说明:用于返回集合中数值类型的平均值,集合应为数值类型集合。返回Double类型,不延迟。生成的SQL语句为SELECT AVG(...) FROM

1.简单形式

返回商品价格的平均值:

var t = db.Products.Select(p => p.UnitPrice).Average();

2.映射形式

var t = db.Products.Average(p => p.UnitPrice);

3.组合形式

查找每个类别中单价高于该类别平均单价的产品:

var t = from c in db.Products

group c by c.CategoryID into g

select new

{

CategoryID = g.Key,

Price = from p in g where p.UnitPrice >= g.Average(n => n.UnitPrice) select p

};

上一篇:广州.Net培训机构:教育机器人降临能成为孩子的好老师吗?
下一篇:广州.Net培训机构教你如何进行net资源托管?
选择城市和中心
贵州省

广西省

海南省