語言整合查詢Language-Integrated Query (LINQ)是一套查詢技術, 使用宣告式的查詢運算式,可透過極簡程式碼靈活地篩選、排序、分組與轉換資料,無論來源是記憶體集合、XML、資料庫或 JSON,模式皆相同。
LINQ 支援兩種語法風格:
int[] numbers = { 5, 8, 3, 10, 2, 7 };
var result = from n in numbers
where n % 2 == 0
orderby n
select n * 2;
- 從陣列中逐一取出元素 n
- 條件篩選,找出偶數
- 依照原始數字排序
- 將每個結果乘以 2
int[] numbers = { 5, 8, 3, 10, 2, 7 };
var result = numbers
.Where(n => n % 2 == 0)
.OrderBy(n => n)
.Select(n => n * 2);
LINQ 的核心是標準查詢運算子(Standard Query Operators),包括 Where、Select、GroupBy、Join 等,這些作法被定義在 System.Linq 的 Enumerable 與 Queryable 中。
對 IEnumerable,查詢在本機以委派形式執行;
對 IQueryable,查詢編譯成表達式樹,可由如 EF Core 提供者轉譯為 SQL 或其他查詢語言。
因為統一查詢語法、簡潔表達意圖、跨資料來源復用能力強,讓開發更具效率與可讀性。
意興闌珊
明天再補寫法範例