linq查询函数的应用

 

最近做项目,用到了max,min,average等函数。sql server 的相信很多人会用,而linq的或许很多人比较陌生,下面是我从网上搜集的一个案例,关于linq的几个典型函数,供大家学习。

A.min()函数
min
var categories =
  from p in db.Products
  group p by p.CategoryID into g
  select new {
    CategoryID = g.Key,
     CheapestProducts =
      from p2 in g
       where p2.UnitPrice == g.Min(p3 => p3.UnitPrice)
       select p2
  };

B.max()函数

  //var q = db.Employees.Select(e => e.HireDate).Max();

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

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
  };


C.average()函数

var q = db.Products.Average(p => p.UnitPrice);
var q = db.Orders.Select(o => o.Freight).Average();
var categories =
  from p in db.Products
  group p by p.CategoryID into g
  select new {
    g.Key,
    ExpensiveProducts =
       from p2 in g
      where p2.UnitPrice > g.Average (p3 => p3.UnitPrice)
      select p2
   };

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值