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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章