第二節: 比較EF的Lambda查詢和Linq查詢寫法的區別


 簡介

   在前面EF的介紹中,曾多次提到過EF可以使用Lambda和Linq來完成對數據庫的訪問,這兩種的語法的具體使用和注意事項在前面的DotNet進階的系列章節中已經詳細介紹過了,本次借着EF章節,重新調整了一下里面的規范和注意事項。

1. Lambda語法

 七類核心用法:

 0. Select最基本的用法:查詢單表中所有數據

 1. Where的用法:單條件、多條件、模糊查詢

 2. select查詢指定列:匿名類寫法(指定匿名類的名稱或使用默認表的名稱)

 3. 排序問題:

   ① 單條件單次升序:OrderBy;

   ② 單條件單次降序:OrderByDescending;

   ③ 多次升序:OrderBy→ThenBy→ThenBy;

   ④ 多次降序:OrderByDescending→ThenByDescending→ThenByDescending;

   ⑤ 先升序再降序再升序:OrderBy→ThenByDescending→OrderBy;

 4. Join內連接關聯查詢:先關聯、然后寫條件(Where、OrderBy),同樣道理可以寫匿名類(指定列名或不指定列名);單獨寫一個實體接收

 5. GroupBy單表分組:分組后會將數據分成一些key-value的信息塊,key是分類字段,value對應的就是該分類字段的數據集合

 6. GroupJoin外連接查詢:(相當於left Join),用法需要顯示聲明Lambda表達式,而且連接的表需要全部輸出(寫法要特別注意)

 7. Skip和Take用法:跨過多少條,取多少條、分頁公式(一定是先Skip和Take,然后再ToList)

  詳細內容:請點擊。

2. Linq語法

 六類核心用法

 Linq用法:from....where....select... 為基本框架,缺一不可

 1. where:單條件、多條件、模糊查詢

 2. select:同樣可以是匿名類(指定名稱和不指定名稱)和非匿名類的寫法

 3. 排序問題:orderby x1 ascending,x2 descending,x3

 4. 關聯查詢:內連接(隱式內連接和隱式外連接) 和 外鏈接(左外鏈接)

 5. group by分組

 6. skip和take分頁

   詳細內容:請點擊。

 


免責聲明!

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



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