1.1 什麼是LINQ
1.2 為什麼要用LINQ
1.3 搭建LINQ 開發環境
1.3.1 安裝 Visual Studio 2008
1.3.2 設定 Visual Studio 2008
1.4 初識LINQ 技術
1.4.1 初識LINQ to Objects
1.4.2 初識LINQ to ADO
1.4.3 初識LINQ to XML
1.5 小結
第2 章 C# 語言的新特性及相關知識
2.1 .NET 各個版本之間的關係
2.2 C# 語言的新特性
2.2.1 自動內容和內容存取器的保護級別
2.2.2 允許空類別
2.2.3 泛型
2.2.4 代理
2.2.5 反覆運算器與yield 關鍵字
2.2.6 隱式類別的區域變數
2.2.7 物件和集合初始化器
2.2.8 匿名類別
2.2.9 擴充方法
2.2.10 匿名方法和Lamdba 運算式
2.3 綜合實例:C# 高亮編輯及編譯執行器
2.4 小結
第3 章 LINQ 基本子句介紹
3.1 概述
3.2 from 子句
3.2.1 單個from 子句
3.2.2 複合from 子句
3.2.3 多個from 子句
3.3 where 子句
3.3.1 常見的where 子句查詢
3.3.2 在where 子句中使用自訂函數
3.3.3 動態述詞的篩選
3.4 select 子句
3.4.1 輸出查詢結果
3.4.2 對查詢結果進行投影
3.5 group 子句
3.5.1 IGrouping
3.5.2 分組查詢
3.6 into 子句
3.7 排序子句
3.7.1 OrderBy 和OrderByDescending
3.7.2 ThenBy 和ThenByDescending
3.8 let 子句
3.9 join 子句
3.10 小結
第4 章 用於集合、檔案、字串物件的LINQ
4.1 LINQ 標準查詢運算元概述
4.2 Enumerable 類別的介紹
4.3 用於延期執行的Enumerable 類別方法成員
4.3.1 Take 方法
4.3.2 TakeWhile 方法
4.3.3 Skip 方法
4.3.4 SkipWhile 方法
4.3.5 Take、TakeWhile、Skip、SkipWhile 小結
4.3.6 Reverse 方法
4.3.7 Distinct 方法
4.3.8 Union 方法
4.3.9 Concat 方法
4.3.10 Intersect 方法
4.3.11 Except 方法
4.3.12 Range 方法
4.3.13 Repeat 方法
4.3.14 Empty 方法
4.3.15 DefaultIfEmpty 方法
4.3.16 Cast 方法
4.3.17 OfType 方法
4.3.18 AsEnumerable 方法
4.4 用於立即執行的Enumerable 類別方法成員
4.4.1 ToArray 方法
4.4.2 ToList 方法
4.4.3 ToDictionary 方法
4.4.4 ToLookup 方法
4.4.5 SequenceEqual 方法
4.4.6 First 方法
4.4.7 FirstOrDefault 方法
4.4.8 Last 方法
4.4.9 LastOrDefault 方法
4.4.10 Single 方法
4.4.11 SingleOrDefault 方法
4.4.12 ElementAt 方法
4.4.13 ElementAtOrDefault 方法
4.4.14 All 方法
4.4.15 Any 方法
4.4.16 Contains 方法
4.4.17 Count 方法
4.4.18 LongCount 方法
4.4.19 Aggregate 方法
4.4.20 Sum 方法
4.4.21 Average 方法
4.4.22 Min 方法
4.4.23 Max 方法
4.5 綜合實例
4.5.1 使用Ajax 技術的ASP
4.5.2 WinForm 項目:檔案尋找和分組
4.6 小結
第5 章 用於資料庫存取的LINQ(LINQ to SQL)
5.1 LINQ to SQL 概述
5.2 物件模型的建立
5.2.1 資料庫物件的建立
5.2.2 使用Visual Studio 2008 建立實體類別
5.2.3 手動建立實體類別
5.2.4 使用XML 映射檔案
5.3 用於資料庫連接的DataContext 物件的成員介紹
5.3.1 DataContext 建構函數
5.3.2 CreateDatabase 方法
5.3.3 DatabaseExists 方法
5.3.4 DeleteDatabase 方法
5.3.5 GetTable 方法
5.3.6 SubmitChanges 方法
5.3.7 GetChangeSet 方法
5.3.8 Refresh 方法
5.3.9 ExecuteQuery 方法
5.3.10 ExecuteCommand 方法
5.3.11 Translate 方法
5.3.12 ChangeConflicts 屬性
5.3.13 Transaction 屬性
5.3.14 ObjectTrackingEnabled 屬性
5.3.15 Log 屬性
5.4 用LINQ 操作資料庫單一表格
5.4.1 Table
5.4.2 Attach 方法
5.4.3 AttachAll 方法
5.4.4 GetOriginalEntityState 方法
5.4.5 GetModifiedMembers 方法
5.4.6 InsertOnSubmit 方法
5.4.7 InsertAllOnSubmit 方法
5.4.8 DeleteOnSubmit 方法
5.4.9 DeleteAllOnSubmit 方法
5.5 用LINQ 操作資料庫一對多表格
5.5.1 EntitySet
5.5.2 Add 方法
5.5.3 AddRange 方法
5.5.4 Insert 方法
5.5.5 Remove 方法
5.5.6 RemoveAt 方法
5.5.7 Clear 方法
5.6 綜合實例:客戶產品訂單處理系統
5.6.1 資料類別
5.6.2 排序化與反排序化
5.6.3 控制器類別
5.6.4 介面的資料綁定
5.7 小結
第6 章 用於XML 存取的LINQ(LINQ to XML)
6.1 LINQ to XML 概述
6.2 LINQ to XML 的基本操作
6.2.1 建立XML 檔案
6.2.2 建立XML 元素
6.2.3 建立XML 屬性
6.2.4 建立XML 註釋
6.2.5 建立XML 宣告
6.2.6 建立XML 檔案類型
6.2.7 建立XML 處理指示
6.2.8 建立XML CData 資料
6.2.9 建立XML 命名空間
6.3 使用軸方法處理XML 元素
6.3.1 XElement 類別
6.3.2 檢索元素的軸方法
6.3.3 增加元素的軸方法
6.3.4 刪除元素的軸方法
6.3.5 替換元素的軸方法
6.3.6 根據指定的值自動增加、刪除、修改子元素
6.3.7 獲取元素屬性的軸方法
6.3.8 替換元素屬性的軸方法
6.3.9 刪除元素的屬性的軸方法
6.3.10 根據指定的值自動增加、刪除、修改元素的屬性
6.3.11 處理批註的軸方法
6.4 使用LINQ 運算式處理XML 元素
6.4.1 篩選XML 元素
6.4.2 對XML 元素進行排序
6.4.3 對XML 元素進行計算
6.4.4 剔除XML 樹中符合條件的元素
6.4.5 變造XML 樹
6.5 使用LINQ to XML 排序化XML 樹
6.5.1 輸出XML 樹到字串
6.5.2 輸出XML 樹到TextWriter 物件
6.5.3 輸出XML 樹到檔案
6.6 綜合實例:生成並輸出RSS 聚合內容
6.6.1 資料類別
6.6.2 建立RSS 物件
6.6.3 控制器類別
6.6.4 介面
6.6.5 執行結果
6.7 小結
第7 章 綜合應用實例:商品管理解決方案
7.1 概述
7.2 資料庫設計
7.3 使用LINQ to SQL 的資料層、商品管理模型
7.3.1 建立資料層
7.3.2 收銀台及商店模型
7.4 WinForm 項目
7.4.1 收銀台介面自訂控制項
7.4.2 控制台表單
7.5 ASP
7.5.1 自訂Web 控制項
7.5.2 商品查詢、分頁顯示頁面
7.5.3 Webservice 資料耦合層
7.6 小結