Transcript LINQ 語法簡介
LINQ 語法簡介
設計人:顏嘉君
LINQ 概觀
Language-Integrated Query
Anders Hejlsberg微軟首席架構師發起
程式語言內建 query
架構
語言層級
技術類型
資料來源類型
語言層級
C#
VB
C# 3.0
VB 9.0
其他程式語言
技術類型
LINQ to Object
LINQ to ADO.NET
LINQ to DataSet
LINQ to SQL
LINQ to XML
資料來源類型
物件:集合, 陣列,字串等
關連資料庫
DataSet
XML
LINQ 優點
可以用單一且一致的LINQ語法查遍所有
資料來源
利用.NET資源
編譯時期的語法檢查,可以及早發現錯誤,
不像SQL語法要到執行期才能發現。
強制型別檢查,可以事先檢查資料型態是
否相符
VS 2008 的支援
IEnumerable, IEnumerator
IEumerable
GetEnumerator
IEnumerator
MoveNext
Reset
System.Linq 命名空間
類別
Eumerable
Lookup
Queryable
介面
IGouping
ILookup
IOrderedEnumerable
IOrderedQueryable, IOrderedQueryable<T>
IQueryable, IQueryable<T>
IQueryProvider
Enumerable 擴充方法
過濾
OfType
Where
投影
Select
SelectMany
群組
GroupBy
ToLookUp
Enumerable 擴充方法(二)
排序
OrderBy, OrderByDescending
ThenBy, ThenByDescending
彙總
Aggregate
Average
Count
LongCount
Max
Min
Sum
Enumerable 擴充方法(三)
關連
Join
GroupJoin
集合
Distinct
Except
Intersect
Union
Enumerable 擴充方法(四)
建構
DefaultEmpty
Empty
Range
Repeat
檢核
All
Any
Contains
Enumerable 擴充方法(五)
擷取
Skip, SkipWhile
Take, TakeWhile
單一元素
First, FirstOrDefault
Last, LastOrDefault
ElementAt, ElementAtOrDefault
Single, SingleOrDefault
Enumerable 擴充方法(六)
轉換
AsEnumerable
ToArray
ToList
ToDictionary
ToLookup
Cast
OfType