一、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