第二节: 比较EF的Lambda查询和Linq查询写法的区别
?簡介
? 在前面EF的介紹中,曾多次提到過EF可以使用Lambda和Linq來完成對數(shù)據(jù)庫的訪問,這兩種的語法的具體使用和注意事項在前面的DotNet進階的系列章節(jié)中已經(jīng)詳細介紹過了,本次借著EF章節(jié),重新調(diào)整了一下里面的規(guī)范和注意事項。
1. Lambda語法
?七類核心用法:
?0. Select最基本的用法:查詢單表中所有數(shù)據(jù)
?1. Where的用法:單條件、多條件、模糊查詢
?2. select查詢指定列:匿名類寫法(指定匿名類的名稱或使用默認表的名稱)
?3. 排序問題:
? ① 單條件單次升序:OrderBy;
? ② 單條件單次降序:OrderByDescending;
? ③ 多次升序:OrderBy→ThenBy→ThenBy;
? ④ 多次降序:OrderByDescending→ThenByDescending→ThenByDescending;
? ⑤ 先升序再降序再升序:OrderBy→ThenByDescending→OrderBy;
?4. Join內(nèi)連接關聯(lián)查詢:先關聯(lián)、然后寫條件(Where、OrderBy),同樣道理可以寫匿名類(指定列名或不指定列名);單獨寫一個實體接收
?5. GroupBy單表分組:分組后會將數(shù)據(jù)分成一些key-value的信息塊,key是分類字段,value對應的就是該分類字段的數(shù)據(jù)集合
?6. GroupJoin外連接查詢:(相當于left Join),用法需要顯示聲明Lambda表達式,而且連接的表需要全部輸出(寫法要特別注意)
?7. Skip和Take用法:跨過多少條,取多少條、分頁公式(一定是先Skip和Take,然后再ToList)
詳細內(nèi)容:請點擊。
2. Linq語法
?六類核心用法
?Linq用法:from....where....select... 為基本框架,缺一不可
?1. where:單條件、多條件、模糊查詢
?2. select:同樣可以是匿名類(指定名稱和不指定名稱)和非匿名類的寫法
?3. 排序問題:orderby x1 ascending,x2 descending,x3
?4. 關聯(lián)查詢:內(nèi)連接(隱式內(nèi)連接和隱式外連接) 和 外鏈接(左外鏈接)
?5. group by分組
?6. skip和take分頁
? 詳細內(nèi)容:請點擊。
總結
以上是生活随笔為你收集整理的第二节: 比较EF的Lambda查询和Linq查询写法的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡逾期什么叫连三累六
- 下一篇: 近期债券基金大面积下跌,原因找到了!原来