LINQ to SQL 中可以使用的LINQ函式
LINQ to SQL 中可以使用的LINQ函式
文/黃忠成
我們知道,任何LINQ Expression及LINQ函式呼叫,在LINQ To SQL架構中,最終都會被轉成SQL指令送往資料庫執行,而LINQ To SQL支援了全部的LINQ Expression及部份函式,這意味著你只需熟悉LINQ To Objects,就已經取得了進入LINQ To SQL的入場門票。
但請注意,LINQ To SQL與LINQ To Objects畢竟有些許不同,從LINQ Expression角度上看來,能下在LINQ To Objects的LINQ Expression,就能下在LINQ To SQL,例如JOIN、GROUP、Multi Select等等。但能在LINQ To Objects呼叫的函式,不見得就能下在LINQ To SQL。
除了【極意之道-.NET Framework 3.5資料庫開發聖典】一書中提及的分辨何者能於LINQ To SQL中呼叫的LINQ函式之大方向外,我將較細節,能執行於LINQ To SQL的LINQ函式列示於下:
Select、SelectMany
|
Distinct
|
Join、GroupJoin
|
Concat
|
DefaultIfEmpty
|
Union
|
OfType、Cast
|
Intersect
|
Where
|
Except
|
First、FirstOrDefault
|
Any
|
Single、SingleOrDefault
|
All
|
Count、LongCount
|
Sum、Min、Max、Average
|
GroupBy
|
OrderBy、OrderByDescending、ThenBy、ThenByDescending
|
ToList、ToArray、AsEnumerable
|
Skip、Take、Contains
|
未列於表中的,如Last、LastOrDefault、ElementAt、ElementAtOrDefault等函式,目前未在支援範圍。
由於MSDN 中對此並無詳細說明(我是找不到啦...),這些資訊是我從Reflector中解出來的.
相關文章
- [go-linq]-Go的.NET LINQ式查詢方法Go
- Linq使用Group By 1
- Linq
- ASP.Net LINQ to SQl查詢ASP.NETSQL
- 【轉】LINQ to SQL語句(1)之WhereSQL
- Lambda、Linq
- linq中AsEnumerable和AsQueryable的區別
- linQ基礎
- 瞭解LINQ
- linq介紹
- LinQ查詢基礎(三)LINQ to ADO.net(1)LINQ to DataSet實現複雜資料查詢
- Linq之左聯接
- Linq 日期轉換
- LINQ 動態排序排序
- Linq之分組聯接
- Linq sum()時遇到NULLNull
- Linq 綜合寫法
- LINQ擴充套件方法套件
- linq學習筆記筆記
- C# 之 Linq to XmlC#XML
- C# 中使用Linq和Lambda表示式對List進行排序C#排序
- linq介紹及工作中應用兩例——左聯與內聯,linq迴圈方法
- 強大的動態 LINQ 庫
- LINQ SelectMany的應用場景
- 【解惑】時間規劃,Linq的Aggregate函式在計算會議重疊時間中的應用函式
- Linq中 AsQueryable(), AsEnumerable()和ToList()的區別和用法
- C#中Linq的去重方式Distinct詳解C#
- C#-聽說有人不推薦使用Linq!?C#
- 【Linq】常用語法彙總
- SQL中的替換函式replace()使用SQL函式
- Sql中SYSDATE函式的使用方法SQL函式
- 如何在C#中除錯LINQ查詢C#除錯
- Sql 中的 left 函式、right 函式SQL函式
- [譯]LINQ TO SQL 介紹(定義資料模型類) – Part.2SQL模型
- .NETCore CSharp 中級篇2-3 Linq簡介NetCoreCSharp
- SQL中的cast()函式SQLAST函式
- 使用linq查詢報錯English Message : Join a needs to be the same as OrderBy it
- Linq查詢之多個排序條件排序
- Linq兩個from查詢條件