Linq Where操作淺談
學習Linq時,經(jīng)常會遇到Linq Where操作問題,這里將介紹Linq Where操作問題的解決方法。
Linq Where操作
適用場景:實現(xiàn)過濾,查詢等功能。
說明:與SQL命令中的Where作用相似,都是起到范圍限定也就是過濾作用的,而判斷條件就是它后面所接的子句。
Linq 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.關系條件形式:
篩選庫存量在訂貨點水平之下但未斷貨的產(chǎn)品:
- var q =
- from p in db.Products
- where p.UnitsInStock <= p.ReorderLevel && !p.Discontinued
- select p;
篩選出UnitPrice 大于10 或已停產(chǎn)的產(chǎn)品:
- var q =
- from p in db.Products
- where p.UnitPrice > 10m || p.Discontinued
- select p;
下面這個例子是調用兩次where以篩選出UnitPrice大于10且已停產(chǎn)的產(chǎn)品。
- var q =
- db.Products.Where(p=>p.UnitPrice > 10m).Where(p=>p.Discontinued);
3.First()形式:
返回集合中的一個元素,其實質就是在SQL語句中加TOP (1)。以上介紹Linq Where操作
【編輯推薦】