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中解出來的.
發佈了102 篇原創文章 · 獲贊 0 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章