1. 程式人生 > >LINQ to SQL語句(1)之Where

LINQ to SQL語句(1)之Where

.sh ipp 大於 作用 cts eight erl div 集合

  • Where操作

  適用場景:實現過濾,查詢等功能。

  說明:與SQL命令中的Where作用相似,都是起到範圍限定也就是過濾作用的 ,而判斷條件就是它後面所接的子句。

  Where操作包括3種形式,分別為簡單形式、關系條件形式、First()形式。下 面分別用實例舉例下:

  1.簡單形式:

  例如:使用where篩選在倫敦的客戶   

var q =
  from c in db.Customers
  where c.City == "London"
  select c;

  再如:篩選1994 年或之後雇用的雇員:

var q =
  from e in db.Employees   where e.HireDate >= new DateTime(1994, 1, 1)   select e;

  2.關系條件形式:

  篩選庫存量在訂貨點水平之下但未斷貨的產品:

var q =
  from p in db.Products
  where p.UnitsInStock <= p.ReorderLevel && ! p.Discontinued
  select p;

  篩選出UnitPrice 大於10 或已停產的產品:

var q =
  from
p in db.Products   where p.UnitPrice > 10m || p.Discontinued   select p;

  下面這個例子是調用兩次where以篩選出UnitPrice大於10且已停產的產品。

var q = db.Products.Where(p=>p.UnitPrice > 10m).Where (p=>p.Discontinued);

  3.First()形式:

  返回集合中的一個元素,其實質就是在SQL語句中加TOP (1)。

  簡單用法:選擇表中的第一個發貨方。

Shipper shipper =
db.Shippers.First();

  元素:選擇CustomerID 為“BONAP”的單個客戶

Customer cust = db.Customers.First(c => c.CustomerID == "BONAP");

  條件:選擇運費大於 10.00 的訂單:

Order ord = db.Orders.First(o => o.Freight > 10.00M);

LINQ to SQL語句(1)之Where