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中解出來的.
相關文章
- LINQ系列:LINQ to SQL Transact-SQL函式SQL函式
- LINQ To XML : Descendants函式XML函式
- LINQ系列:LINQ to SQL Take/SkipSQL
- LINQ to SQLSQL
- LINQ系列:LINQ to SQL Where條件SQL
- LINQ系列:LINQ to SQL Concat/UnionSQL
- LINQ系列:LINQ to SQL Join連線SQL
- LINQ系列:LINQ to SQL Select查詢SQL
- LINQ to SQL收藏SQL
- Linq to SQL 上篇SQL
- LINQ系列:LINQ to SQL Group by/Having分組SQL
- LINQ-to-SQL那點事~LINQ-to-SQL中的併發衝突與應對SQL
- LINQ-to-SQL那點事~LINQ-to-SQL中的資料快取與應對SQL快取
- Linq to sql 分頁SQL
- Linq to sql 筆記SQL筆記
- Linq to sql 求和操作SQL
- LINQ系列:LINQ to SQL Exists/In/Any/All/ContainsSQLAI
- [go-linq]-Go的.NET LINQ式查詢方法Go
- LINQ系列:C#中與LINQ相關特性C#
- LINQ系列:LINQ to DataSet的DataTable操作
- LINQ系列:LINQ to DataSet的DataView操作View
- LINQ系列:LINQ to XML操作XML
- 使用C#+Linq+SQL快速開發業務C#SQL
- LINQ to SQL精彩文章收集SQL
- linq to sql 部落格集錦SQL
- Linq to sql 自定義型別SQL型別
- LINQ中的模糊查詢
- LINQ系列:LINQ to XML查詢XML
- LINQ-to-SQL那點事~利用反射在LINQ-to-SQL環境中實現Ado.net的CURD操作SQL反射
- Linq教程之Lambda表示式
- linq to js使用匯總JS
- ASP.Net LINQ to SQl查詢ASP.NETSQL
- LINQ中的陷阱--TakeWhile&SkipWhileWhile
- LINQ系列:Linq to Object投影操作符Object
- LINQ系列:Linq to Object限制操作符Object
- LINQ系列:Linq to Object排序操作符Object排序
- LINQ系列:Linq to Object聚合操作符Object
- LINQ系列:Linq to Object集合操作符Object