LINQ(Language Integrated Query )語言集成查詢,是一組用于C#和VB語言的拓展,它允許VB或者C#代碼以操作內存數據的方式,查詢數據庫。
LINQ使用的優點:
- 無需復雜學習過程即可上手。
- 編寫更少代碼即可創建完整應用。
- 更快開發錯誤更少的應用程序。
- 無需求助奇怪的編程技巧就可合并數據源。
- 能夠大幅減少過程控制語句的代碼塊,使代碼的可讀性和可維護性大幅提高。
- 任何對象或數據源都可以定制實現LINQ適配器,為數據交互帶來真正方便。
LINQ主要包含一下三個部分:
- LINQ to Object主要負責對象的查詢
- 對關系數據的查詢 LINQ to Entity如EF(Entity Framework)
- LINQ to XML
LINQ的語法
查詢語句,類似SQL語法
Int[] nums={1,2,4,5,6,7};//數據源
Var list=from a in nums
Where a%2==0
Orderby a descending
Select a;
要點解析:
- 必須以from開頭。以select或者group by結尾。
- from a ,其中a其中元素, in 數據源。中間以各種條件連接,比如where 、order by
- 結尾select 查出這個篩選之后的a。當然也可以使用匿名對象或者新的已構造的對象
常見子句有:
- from子句:指定查詢操作的數據源和范圍變量
- where子句:篩選元素的邏輯條件,返回值是一個bool類型
- select子句:指定查詢結果的類型和表現形式
- orderby子句:對查詢結果進行排序(升序或者降序)
- group子句:對查詢結果進行分組
- into子句:提供一個臨時標識符,該表示可充當對join/group/select子句結果的引用
- join子句:連接多個查詢操作的數據源
- let子句:引入用于存儲查詢表達式中的子表達式結果的范圍變量