天天看點

【.NET基礎】Linq常用文法代碼示範

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

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

1、建立一個.NET 6.0的控制台項目,用來示範測試和輸出。

【.NET基礎】Linq常用文法代碼示範

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

【.NET基礎】Linq常用文法代碼示範

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

【.NET基礎】Linq常用文法代碼示範

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

【.NET基礎】Linq常用文法代碼示範

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

【.NET基礎】Linq常用文法代碼示範

6、lambda表達式的操作方法,也可以對查詢結果字段進行起别名。

【.NET基礎】Linq常用文法代碼示範

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

【.NET基礎】Linq常用文法代碼示範

8、linq文法,最簡單的查詢方式,from 集合/表的别名 in 集合/表 where 條件 select 字段集合;

【.NET基礎】Linq常用文法代碼示範

9、同樣的,linq文法裡面的查詢結果字段名,也可以起别名。

【.NET基礎】Linq常用文法代碼示範

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

【.NET基礎】Linq常用文法代碼示範

11、也可以關聯查詢,關聯查詢最簡單的查詢文法書  from 表1别名 in 表1 join 表2别名 in 表2 on 表1.字段 equals 表2.字段 select 需要篩查的字段;

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

【.NET基礎】Linq常用文法代碼示範

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

【.NET基礎】Linq常用文法代碼示範

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

【.NET基礎】Linq常用文法代碼示範

14、結果集字段同樣支援别名、指定字段等等。

【.NET基礎】Linq常用文法代碼示範

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

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

歡迎加入QQ群:

群号:1079830632

【.NET基礎】Linq常用文法代碼示範