【.NET基礎】Linq常用語法程式碼演示

WeskyNet發表於2022-07-12

前言:前言不重要,linq入門常用的語法,linq語法可以用來寫操作集合、資料庫表集合等等幾乎所有集合型別的操作。下面就寫幾個案例(以List集合來做的),看程式碼和執行結果即可。

本文演示環境:VS2022 + .NET 6 

 

1、建立一個.NET 6.0的控制檯專案,用來演示測試和輸出。

 

2、然後新增兩個實體類,用於後續做測試使用,包括關聯查詢等。

 

3、初始化一丟丟資料,當做測試的原始資料。

 

4、先執行下,看下當前資料集合的結果集是怎麼樣的。此處以Json格式展示,以下其他輸出也一樣,都是用Json資料輸出,比較好對比。

 

5、先玩一下最簡單的lambda表示式的查詢方法,以下只是最基本的操作,還有很多別的擴充套件使用方法,待自己發現。

 

6、lambda表示式的操作方法,也可以對查詢結果欄位進行起別名。

 

7、有一個很好用的判斷集合是否存在資料的,直接使用 Any。 Any裡面也可以寫lambda表示式,例如 xxx.Any(x=>x.Id==2) ,如果結果為True,代表集合裡面存在欄位Id為2的資料。不存在即為False。

 

8、linq語法,最簡單的查詢方式,from 集合/表的別名 in 集合/表 where 條件 select 欄位集合;

 

9、同樣的,linq語法裡面的查詢結果欄位名,也可以起別名。

 

10、可以通過orderby對指定的欄位進行排序。也可以多個欄位並列排序,同時存在升序和降序,待自己發現。

 

11、也可以關聯查詢,關聯查詢最簡單的查詢語法書  from 表1別名 in 表1 join 表2別名 in 表2 on 表1.欄位 equals 表2.欄位 select 需要篩查的欄位;

也可以繼續擴充出和表3的關聯查詢、表4的關聯查詢,等等……

 

12、關聯查詢也一樣可以使用Where語句進行約束條件。

 

13、也可以進行分組查詢。group 後面接的是最終需要查詢的結果集欄位。

 

14、結果集欄位同樣支援別名、指定欄位等等。

 

15、以上就是該文章的全部內容,內容很簡單,希望對初學者或者入門的小夥伴會有幫助。當然,上面的演示都是非常基礎和簡單的,平常使用ORM進行運算元據庫、或者操作其他集合,例如DbSet、IEnumerable等等型別的,也都可以支援這麼操作。這樣可以避免直接寫SQL語句進行運算元據庫可能產生的一些不好的情景,例如切換另一個品牌的資料庫之類的,就可能需要重寫SQL語句了;而使用Linq語法就可以一定程度上避免存在這樣的情況,畢竟可以面向實體,只要保證實體沒變,就可以不擔心資料庫切換了,程式碼也就不需要更改了。

如果覺得文章有幫助,歡迎點贊推薦、轉發【本文連結:https://www.cnblogs.com/weskynet/p/16471967.html 】和留言,謝謝。

 

相關文章