Linq To SQL基本语句(查询)
2009-12-02 14:40
495 查看
1.Select
相当于SQL中
(e.FirstName + "" + e.LastName可以写成外部方法后调用)
Count
Sum
Min
Max
Average
2.Where
等同于
(p.Discontinued意思是Discontinued==true,!p.Discontinued意思是Discontinued==false)
3.First
(First()表示筛选出来的结果的第一个值。()中写筛选条件。该方法后面加”.字段名”可以得到所需值。)[/code]
4.Join
InnerJoin
相当于SQL中
LeftJoin
相当于SQL中
5.OrderBy
等同于
等同于
6.Group By
(group by 后面的语句以group by的结果开头)
var q = (from e in db.Employees select new { Name = e.FirstName + " " + e.LastName, Phone = e.HomePhone, IsAdult=e.Age>18? "Yes ":"No " }).Distinct();
相当于SQL中
Select Distinct FirstName + "" + LastName AS Name, HomePhone AS Phone, CASE WHEN Age>18 THEN 'Yes' ELSE 'No' END AS IsAdult From db.Employees
(e.FirstName + "" + e.LastName可以写成外部方法后调用)
Count
var q = db.Products.Count(p => !p.Discontinued); var q = db.Customers.LongCount();
Sum
var q = db.Orders.Select(o => o.Freight).Sum(); var q = db.Products.Sum(p => p.UnitsOnOrder);
Min
var q = db.Products.Select(p => p.UnitPrice).Min(); var q = db.Orders.Min(o => o.Freight);
Max
var q = db.Employees.Select(e => e.HireDate).Max(); var q = db.Products.Max(p => p.UnitsInStock);
Average
var q = db.Orders.Select(o => o.Freight).Average(); var q = db.Products.Average(p => p.UnitPrice);
2.Where
var q = db.Products.Where(p=>p.UnitPrice >10m).Where(p=>p.Discontinued);
等同于
var q = from p in db.Products where p.UnitPrice>10m &&p.Discontinued select p;
(p.Discontinued意思是Discontinued==true,!p.Discontinued意思是Discontinued==false)
3.First
Order ord = db.Orders.First(o => o.Freight > 10.00M);
(First()表示筛选出来的结果的第一个值。()中写筛选条件。该方法后面加”.字段名”可以得到所需值。)[/code]
4.Join
InnerJoin
var innerjoin = from p in db.Products join c in db.Categories onp.CategoryID equals c.CategoryID select p.ProductName;
相当于SQL中
Select ProductName From db.Products Inner Join db.Categories on db.Products. CategoryID = db.Categories. CategoryID
LeftJoin
var leftjoin = from p in db.Products join c in db.Categories on p.CategoryID equals c.CategoryID into pro from x in pro.DefaultIfEmpty() select p.ProductName;
相当于SQL中
Select ProductName From db.Products Left Outer Joindb.Categories on db.Products. CategoryID = db.Categories. CategoryID
5.OrderBy
var q = from c in db.Customers orderby c.City, c.ContactName descending select c;
等同于
var q = .OrderBy(c => c.City) . ThenByDescending(c => c.ContactName).ToList();
等同于
var q = db.Customers .OrderBy(c => c.ContactName) .OrderByDescending(c => c.City).ToList();
6.Group By
var q = from p in db.Products group p by p.CategoryID into g orderby g.Key select new { g.Key, MostExpensiveProducts = from p2 in g where p2.UnitPrice == g.Max(p3 => p3.UnitPrice) select p2 };
var q = from p in db.Products group p by p.CategoryID into g select new { CategoryID = g.Key, g };
(group by 后面的语句以group by的结果开头)
相关文章推荐
- linq to sql 语句基本查询(3):Select和Count/Sum/Min/Max/Avg
- linq to sql 语句基本查询(3):Select和Count/Sum/Min/Max/Avg
- 9、步步为营VS 2008 + .NET 3.5(9) - DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- LINQ体验(17)——LINQ to SQL语句之动态查询
- LINQ体验(17)——LINQ to SQL语句之动态查询
- LINQ体验(17)——LINQ to SQL语句之动态查询
- LINQ to SQL语句之动态查询
- linq to ef(相当于sql中in的用法)查询语句
- 步步为营VS 2008 + .NET 3.5(9) - DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- [导入]LINQ体验(17)——LINQ to SQL语句之动态查询
- linQ to sql 查询生成的sql语句
- linq to Entities,将查询语句转换为普通的SQL语句
- LINQ体验(17)——LINQ to SQL语句之动态查询
- 步步为营VS 2008 + .NET 3.5(9) - DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- 步步为营VS 2008 + .NET 3.5(9) - DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- LINQ to SQL语句之动态查询高级特性
- LINQ to SQL语句(23)之动态查询
- 步步为营VS 2008 + .NET 3.5(9) - DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除
- Linq To SQL基本语句(增删改)
- LINQ体验(17)——LINQ to SQL语句之动态查询