基本介紹
- 中文名:精通LINQ數據訪問技術:基於C#
- 作 者:侯利軍
- 出版社:人民郵電出版社
- 出版時間: 2008
版權資訊,目錄1 LINQ基礎,第1章 LINQ概述,第2章 LINQ語法基礎——C#3.0,目錄2 LINQ查詢初步,第3章 LINQ查詢概述,第4章 LINQ查詢子句,第5章 LINQ查詢操作,目錄3 LINQtoSQL,第6章 LINQtoSQL對象模型,第7章 數據上下文,第8章 使用LINQ查詢和運算元據庫,目錄4 LINQtoObjects、DataSet和XML,第9章 LINQtoObjects,第10章 LINQtoDataSet,第11章 LINQtoXML,目錄5 LINQ套用,第12章 LINQ在ASP.NET中的套用,第13章 LINQ在Windows窗體中的套用,
版權資訊
書 名: 精通LINQ數據訪問技術:基於C#
作 者:侯利軍
出版時間: 2008
ISBN: 9787115180087
開本: 16
目錄1 LINQ基礎
第1章 LINQ概述
1.1 什麼是LINQ 3
1.1.1 查詢與LINQ 3
1.1.2 LINQ基本架構 4
1.1.3 LINQ基本組成組件 5
1.1.4 LINQ與ADO.NET 5
1.2 搭建開發環境 6
1.2.1 安裝VisualStudio2008 6
1.2.2 配置VisualStudio2008 8
1.3 第一個使用LINQ的Web應用程式 9
1.3.1 創建使用LINQ的Web應用程式 9
1.3.2 使用LINQ查詢數據 11
1.3.3 配置與LINQ相關的程式集 12
1.3.4 運行使用LINQ的Web應用程式 12
1.3.5 IEnumerable和IEnumerableT接口 13
1.3.6 IQueryable和IQueryableT接口 14
1.3.7 與LINQ相關的命名空間 15
1.4 LINQ查詢數據優勢展現 15
1.4.1 查詢集合中的數據 16
1.4.2 查詢資料庫中的數據 17
1.4.3 查詢DataSet對象中的數據 20
1.4.4 查詢XML檔案 22
第2章 LINQ語法基礎——C#3.0
2.1 C#3.0概述 25
2.2 使用var創建隱型局部變數 26
2.3 對象和集合初始化器 28
2.3.1 對象初始化器 28
2.3.2 集合初始化器 30
2.4 創建匿名類型的對象 31
2.5 創建隱型數組 34
2.6 Lambda表達式 34
2.6.1 Lambda表達式的輸入參數 34
2.6.2 Lambda表達式的語句 35
2.6.3 查詢中的Lambda表達式 35
2.6.4 Lambda表達式轉換 36
2.7 查詢表達式 36
2.7.1 查詢表達式基礎 36
2.7.2 查詢表達式的基本子句 38
目錄2 LINQ查詢初步
第3章 LINQ查詢概述
3.1 準備用於LINQ查詢的數據源 41
3.1.1 準備集合類型的數據源 41
3.1.2 準備DataSet類型的數據源 42
3.1.3 準備SQLServer資料庫類型的數據源 43
3.1.4 準備XML類型的數據源 44
3.2 創建LINQ查詢表達式 44
3.2.1 創建查詢集合類型的查詢表達式 44
3.2.2 創建查詢DataSet類型的查詢表達式 45
3.2.3 創建查詢SQLServer資料庫類型的查詢表達式 45
3.2.4 創建查詢XML類型的查詢表達式 45
3.3 執行LINQ查詢 46
第4章 LINQ查詢子句
4.1 LINQ查詢子句概述 47
4.2 基本子句 48
4.2.1 from子句 48
4.2.2 where子句 52
4.2.3 select子句 54
4.2.4 group子句 56
4.2.5 orderby子句 57
4.2.6 into子句 59
4.2.7 join子句 61
4.2.8 let子句 65
第5章 LINQ查詢操作
5.1 查詢操作概述 67
5.2 篩選操作Where 70
5.3 投影操作 71
5.3.1 選擇操作Select 71
5.3.2 選擇多個序列操作SelectMany 72
5.4 排序操作 73
5.4.1 按主關鍵字升序排序操作OrderBy 73
5.4.2 按主關鍵字降序排序操作OrderByDescending 74
5.4.3 按次要關鍵字升序排序操作ThenBy 75
5.4.4 按次關鍵字降序排序操作ThenByDescending 77
5.4.5 順序反轉操作Reverse 78
5.5 聚合操作 79
5.5.1 計算元素數量操作Count 79
5.5.2 求和操作Sum 80
5.5.3 最大值操作Max 81
5.5.4 最小值操作Min 82
5.5.5 平均值操作Average 83
5.5.6 聚合計算操作Aggregate 83
5.5.7 計算元素數量操作LongCount 84
5.6 集合操作 85
5.6.1 去掉集合中的重複元素操作Distinct 86
5.6.2 差集操作Except 87
5.6.3 交集操作Intersect 89
5.6.4 並集操作Union 90
5.7 元素操作 91
5.7.1 獲取指定元素操作ElementAt 92
5.7.2 獲取指定元素或默認值操作ElementAtOrDefault 93
5.7.3 獲取第一個元素操作First 93
5.7.4 獲取第一個元素或默認值操作FirstOrDefault 94
5.7.5 獲取最後一個元素操作Last 95
5.7.6 獲取最後一個元素或默認值操作LastOrDefault 96
5.7.7 獲取單個元素操作Single 97
5.7.8 獲取單個元素或默認值操作SingleOrDefault 97
5.8 數據類型轉換操作 98
5.8.1 轉換為泛型集合操作AsEnumerable 99
5.8.2 轉換為序列操作AsQueryable 100
5.8.3 轉換元素數據類型操作Cast 101
5.8.4 篩選指定類型元素操作OfType 101
5.8.5 轉換為泛型列表操作ToList 102
5.8.6 轉換為數組操作ToArray 103
5.8.7 轉換為字典操作ToDicionary 104
5.8.8 轉換為一對多字典操作ToLookup 104
5.9 生成操作 105
5.9.1 創建包含默認元素或空值的集合操作DefaultIfEmpty 106
5.9.2 創建空序列操作Empty 107
5.9.3 創建指定範圍值的序列操作Range 107
5.9.4 創建重複元素序列的操作Repeat 108
5.10 限定符操作 108
5.10.1 檢查序列所有元素是否滿足指定條件的操作All 109
5.10.2 檢查序列是否存在滿足指定條件的操作Any 110
5.10.3 檢查序列是否包含指定元素的操作Contains 110
5.11 數據分區操作 111
5.11.1 跳過指定元素的操作Skip 112
5.11.2 跳過滿足指定條件的元素的操作SkipWhile 113
5.11.3 提取指定元素的操作Take 114
5.11.4 提取滿足指定條件的元素的序列TakeWhile 114
5.12 聯接操作 115
5.12.1 聯接操作Join 116
5.12.2 分組聯接操作GroupJoin 118
5.13 相等操作SequenceEqual 120
5.14 串聯操作Contact 121
目錄3 LINQtoSQL
第6章 LINQtoSQL對象模型
6.1 LINQtoSQL概述 125
6.2 使用VisualStudio2008創建DBML檔案 128
6.2.1 創建DBML檔案 129
6.2.2 LINQ代碼生成工具SqlMetail.exe 131
6.2.3 創建UserInfo表的實體類 132
6.2.4 創建UserInfo表的實體類的屬性 133
6.2.5 創建LinqDB資料庫的數據上下文的方法 134
6.3 處理EntitySetT類型的結果 137
6.3.1 計算實體數量的Count屬性 137
6.3.2 實體項集合的Item屬性 137
6.3.3 是否已載入或分配值的HasLoadedOrAssignedValues屬性 139
6.3.4 是否具有延遲查詢的IsDeferred屬性 139
6.3.5 添加實體的Add()方法 141
6.3.6 添加實體集合的AddRange()方法 142
6.3.7 插入實體的Insert()方法 144
6.3.8 移除實體的Remove()方法 145
6.3.9 移除指定索引的實體RemoveAt()方法 146
6.3.10 移除所有實體的Clear()方法 147
6.3.11 查找實體索引的IndexOf()方法 148
6.3.12 查找是否包含實體的Contains()方法 149
6.3.13 分配集合的Assign()方法 150
6.3.14 返回實體枚舉的GetEnumerator()方法 151
6.4 處理EntityRefT類型的結果 153
6.5 處理IExecuteResult類型的結果 155
6.6 處理ISingleResultT類型的結果 156
6.7 處理IMultipleResults類型的結果 158
第7章 數據上下文
7.1 DataContext概述 160
7.2 DataContext類的屬性 162
7.2.1 連線屬性Connection 162
7.2.2 事務屬性Transaction 162
7.2.3 執行命令的最大時間屬性CommandTimeout 164
7.2.4 衝突對象集合屬性ChangeConflicts 164
7.2.5 是否延時載入關係屬性DeferredLoadingEnabled 166
7.2.6 數據導入選項屬性LoadOptions 166
7.2.7 日誌屬性Log 167
7.3 DataContext類的方法 169
7.3.1 檢測資料庫是否存在的DatabaseExists()方法 169
7.3.2 創建資料庫的CreateDatabase()方法 170
7.3.3 刪除資料庫的DeleteDatabase()方法 171
7.3.4 執行SQL命令的ExecuteCommand()方法 171
7.3.5 執行SQL查詢的ExecuteQuery()方法 172
7.3.6 提交更改到資料庫的SubmitChanges()方法 174
7.3.7 獲取命令信息的GetCommand()方法 174
7.3.8 獲取表集合的GetTable()方法 175
7.3.9 獲取已修改對象的GetChangeSet()方法 176
7.3.10 轉換IDataReader對象的Translate()方法 178
7.3.11 刷新對象狀態的Refresh()方法 179
第8章 使用LINQ查詢和運算元據庫
8.1 查詢資料庫中的數據 181
8.1.1 簡單查詢 183
8.1.2 複雜查詢 184
8.1.3 排序數據 185
8.1.4 聚合查詢 186
8.1.5 分組查詢 187
8.2 運算元據庫中的數據 189
8.2.1 向資料庫中插入數據 189
8.2.2 修改資料庫中的數據 191
8.2.3 刪除資料庫中的數據 193
8.2.4 使用存儲過程查詢單表數據 195
8.2.5 使用存儲過程查詢多表數據 197
8.2.6 使用存儲過程運算元據 199
8.2.7 使用函式過濾數據 203
目錄4 LINQtoObjects、DataSet和XML
第9章 LINQtoObjects
9.1 LINQtoObjects概述 209
9.2 使用LINQ操作集合 209
9.2.1 操作靜態數組 210
9.2.2 操作動態數組 211
9.2.3 操作泛型列表ListT 213
9.2.4 操作泛型排序列表SortedListTKey,TValue 214
9.2.5 操作泛型雙向鍊表LinkedListT 216
9.2.6 操作泛型佇列QueueT 216
9.2.7 操作泛型堆疊StackT 218
9.2.8 操作泛型哈希集HashSetT 219
9.2.9 操作泛型字典DictionaryTKey,TValue 221
9.2.10 操作泛型排序字典SortedDictionaryTKey,TValue 221
9.2.11 操作泛型通用集合CollectionT 223
9.2.12 操作泛型綁定列表BindingListT 224
9.3 使用LINQ操作字元串 226
9.3.1 查找指定的字元 226
9.3.2 查找指定的字元串 227
9.3.3 詞頻統計 228
9.3.4 LINQ查詢使用正則表達式處理字元串 230
9.4 使用LINQ操作檔案目錄 232
9.4.1 查詢指定名稱的檔案 232
9.4.2 查詢指定擴展名的檔案 233
9.4.3 查詢指定屬性的檔案 234
9.4.4 統計資料夾的大小 235
9.4.5 比較兩個資料夾中是否存在同名檔案 236
9.4.6 查詢資料夾所有檔案的內容 237
第10章 LINQtoDataSet
10.1 LINQtoDataSet概述 239
10.2 DataTableExtensions類 241
10.2.1 AsDataView()方法 241
10.2.2 AsEnumerable()方法 242
10.2.3 CopyToDataTable()方法 244
10.3 DataRowExtensions類 245
10.3.1 泛型FieldT()方法 246
10.3.2 泛型SetFieldT()方法 247
10.4 使用LINQ查詢DataSet 249
10.4.1 查詢DataSet中的單個表 249
10.4.2 查詢DataSet中的多個表 250
10.4.3 使用投影操作查詢DataSet 253
10.4.4 使用篩選操作查詢DataSet 253
10.4.5 使用排序操作查詢DataSet 255
10.4.6 使用聚合操作查詢DataSet 256
10.4.7 使用元素操作查詢DataSet 258
10.4.8 使用聯接操作查詢DataSet 259
10.4.9 使用數據分區操作查詢DataSet 260
10.4.10 使用集合操作比較DataRow 262
10.5 使用LINQ查詢DataView 264
10.5.1 使用LINQ過濾數據 264
10.5.2 使用LINQ排序數據 266
10.5.3 使用LINQ創建DataView 267
第11章 LINQtoXML
11.1 LINQtoXML概述 269
11.2 LINQtoXML基礎類 271
11.2.1 XElement類 271
11.2.2 XAttribute類 273
11.2.3 XDocument和XDeclaration類 275
11.2.4 XComment類 277
11.2.5 XNamespace類 278
11.2.6 LINQtoXML其他基礎類 280
11.3 使用LINQtoXML查詢XML檔案 281
11.3.1 讀取XML檔案 281
11.3.2 查詢根元素 281
11.3.3 查詢指定名稱的元素 283
11.3.4 查詢指定屬性的元素 284
11.3.5 查詢指定元素的子元素 284
11.3.6 查詢元素並排序 286
11.3.7 查詢元素並計算指定的值 287
11.4 使用LINQtoXML操作XML檔案 288
11.4.1 創建XML檔案 288
11.4.2 添加元素到XML檔案 289
11.4.3 修改XML檔案中的元素 291
11.4.4 刪除XML檔案中的元素 292
11.4.5 將XML檔案中的屬性轉換為元素 293
目錄5 LINQ套用
第12章 LINQ在ASP.NET中的套用
12.1 使用LINQ數據源控制項 299
12.2 使用LINQ為文本框提供數據 303
12.3 使用LINQ為列表控制項提供數據 305
12.4 使用LINQ為Repeater控制項提供數據 307
12.5 使用LINQ為DataList控制項提供數據 309
12.6 使用LINQ為GridView控制項提供數據 311
12.7 使用LINQ為ListView控制項提供數據 313
第13章 LINQ在Windows窗體中的套用
13.1 創建Windows窗體應用程式 316
13.2 使用LINQ數據源控制項 318
13.3 使用LINQ為文本框提供數據 319
13.4 使用LINQ為列表控制項提供數據 320
13.5 使用LINQ為DataGridView控制項提供數據 320
13.6 使用LINQ為ListView控制項提供數據 321
13.7 初始化MainForm窗體 322
13.8 運行Windows窗體應用程式 322
……