Linq语法

来源:互联网 发布:俄罗斯运营商网络制式 编辑:程序博客网 时间:2024/05/22 00:28

一、Linq定义:

LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

二、Linq语法:

1.where

var where = lstPriceHis.Where(p => p.ProductPrice > 3700).ToList();
var where2 = (from p in lstPriceHis where p.ProductPrice > 3700 select p).ToList();
var where3 = lstPriceHis.Where(p => p.PriceId == "1" || p.PriceId.Contains("2")).ToList();
var where4 = lstPriceHis.Where(p => p.PriceId == "1" && p.PriceId.Contains("2")).ToList();

2.max,min,count,sum

var max = lstPriceHis.Max(p => p.ProductPrice);
var min = lstPriceHis.Min(p => p.ProductPrice);
var count = lstPriceHis.Count();
var sum = lstPriceHis.Sum(p => p.ProductPrice);
var sum2 = "select sum(ProductPrice) from lstPriceHis";

3.orderby

var orderby = from p in lstPriceHis where p.ProductPrice > 3700 orderby p.ProductPrice descending select p;
var orderby2 = lstPriceHis.Where(p => p.ProductPrice > 3800).OrderByDescending(p => p.ProductPrice).ToList();

4.top

var top = lstPriceHis.FirstOrDefault();
var top2 = "select top(1) * from lstPriceHis";

5.skip,take

var skip = lstPriceHis.OrderByDescending(p => p.ProductPrice).Skip(2).ToList();
var take = lstPriceHis.OrderByDescending(p => p.ProductPrice).Skip(2).Take(2).ToList();

6.like

var contains = lstPriceHis.Where(p => p.ProductName.Contains("液化"));

7.groupby

var groupby = lstPriceHis.GroupBy(p => p.ProductName).ToList();
foreach (var g in groupby)
{
    var keyg = g.Key;
    var sumg = g.Sum(a => a.ProductPrice);
}

8.join

var join = lstPriceHis.Join(lstCompany, p => p.CompanyId, r => r.CompanyId, (p, r) => p).OrderByDescending(p => p.ProductPrice).ToList();


三、参考:

1.http://www.cnblogs.com/knowledgesea/p/3897665.html

2.http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html


原创粉丝点击