LINQ中的一些查詢語句格式



LINQ的基本格式如下所示:
var <變量> = from <項目> in <數據源> where <表達式> orderby <表達式>

LINQ 基本子句
from查詢子句——基礎
后面跟隨着項目名稱和數據源
示例代碼如下:
var str = from lq in str select lq;
其中select語句指定了返回到集合變量中的元素是來自哪個數據源的

from查詢子句——嵌套查詢
可以在from子句中嵌套另一個from子句即可,示例代碼如下所示。
var str = from lq in str from m in str2 select lq;

where條件子句
where子句指定了篩選的條件,這也就是說在where子句中的代碼段必須返回布爾值才能夠進行數據源的篩選
示例代碼如下:
var str = from m in MyList where m.Length > 5 select m;

where子句查詢
當需要多個where子句進行復合條件查詢時,可以使用“&&”進行where子句的整合
示例代碼如下:
var str = from m in myList where (m.Length > 6 && m.Contains("liu")) select m;


group分組子句
語句格式:var str = from p in PersonList group p by p.age
group子句將數據源中的數據進行分組,在遍歷數據元素時,並不像前面的章節那樣直接對元素進行遍歷,因為group子句返回的是元素類型為IGrouping<TKey,TElement>的對象序列,必須在循環中嵌套一個對象的循環才能夠查詢相應的數據元素。
在使用group子句時,LINQ查詢子句的末尾並沒有select子句,因為group子句會返回一個對象序列,通過循環遍歷才能夠在對象序列中尋找到相應的對象的元素,如果使用group子句進行分組操作,可以不使用select子句。

orderby排序子句
語句格式:var str = from p in PersonList orderby p.age select p;
orderby子句中使用descending關鍵字進行倒序排列
示例代碼如下:
var str = from p in PersonList orderby p.age descending select p;
orderby子句同樣能夠進行多個條件排序,只需要將這些條件用“,”號分割即可
示例代碼如下:
var str = from p in PersonList orderby p.age descending,p.name select p;

join連接子句
在LINQ中同樣也可以使用join子句對有關系的數據源或數據對象進行查詢,但首先這兩個數據源必須要有一定的聯系
var str = from p in PersonList join car in CarList on p.cid equals car.cid select p;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM