精通LINQ数据访问技术:基于C#

版权信息书 名: 精通LINQ数据访问技术:基于C#
作者:侯利军
出版社:人民邮电出版社
出版时间: 2008
ISBN: 9787115180087
开本: 16
定价: 49.00 元
内容简介全书共13章。第1章至第2章介绍了LINQ的基本语法,如隐型局部变量、Lambda表达式、查询表达式等,详细讲解了LINQ查询的基本子句和操作。第3章至第11章详细介绍了LINQtoSQL、LINQtoObjects、LINQtoDataSet和LINQtoXML4个组件,用以查询和处理对象数据。第12章至第13章讲解LINQ在ASP.NETWeb应用程序和Windows窗体应用程序中的应用,以巩固全书所学习的知识。本书不仅适合LINQ的初学者,而且对.NET数据处理人员、ASP.NET开发人员和WindowsForm开发人员都有非常大的帮助,同时也可以作为高等学校计算机或相关专业的教材使用。
目录第一篇LINQ基础
第1章LINQ概述3
1.1什么是LINQ3
1.1.1查询与LINQ3
1.1.2LINQ基本架构4
1.1.3LINQ基本组成组件5
1.1.4LINQ与ADO.NET5
1.2搭建开发环境6
1.2.1安装VisualStudio20086
1.2.2配置VisualStudio20088
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.5IEnumerable和IEnumerableT接口13
1.3.6IQueryable和IQueryableT接口14
1.3.7与LINQ相关的命名空间15
1.4LINQ查询数据优势展现15
1.4.1查询集合中的数据16
1.4.2查询数据库中的数据17
1.4.3查询DataSet对象中的数据20
1.4.4查询XML文件22
第2章LINQ语法基础——C#3.025
2.1C#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.6Lambda表达式34
2.6.1Lambda表达式的输入参数34
2.6.2Lambda表达式的语句35
2.6.3查询中的Lambda表达式35
2.6.4Lambda表达式转换36
2.7查询表达式36
2.7.1查询表达式基础36
2.7.2查询表达式的基本子句38
第二篇LINQ查询初步
第3章LINQ查询概述41
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查询子句47
4.1LINQ查询子句概述47
4.2基本子句48
4.2.1from子句48
4.2.2where子句52
4.2.3select子句54
4.2.4group子句56
4.2.5orderby子句57
4.2.6into子句59
4.2.7join子句61
4.2.8let子句65
第5章LINQ查询操作67
5.1查询操作概述67
5.2筛选操作Where70
5.3投影操作71
5.3.1选择操作Select71
5.3.2选择多个序列操作SelectMany72
5.4排序操作73
5.4.1按主关键字升序排序操作OrderBy73
5.4.2按主关键字降序排序操作OrderByDescending74
5.4.3按次要关键字升序排序操作ThenBy75
5.4.4按次关键字降序排序操作ThenByDescending77
5.4.5顺序反转操作Reverse78
5.5聚合操作79
5.5.1计算元素数量操作Count79
5.5.2求和操作Sum80
5.5.3最大值操作Max81
5.5.4最小值操作Min82
5.5.5平均值操作Average83
5.5.6聚合计算操作Aggregate83
5.5.7计算元素数量操作LongCount84
5.6集合操作85
5.6.1去掉集合中的重复元素操作Distinct86
5.6.2差集操作Except87
5.6.3交集操作Intersect89
5.6.4并集操作Union90
5.7元素操作91
5.7.1获取指定元素操作ElementAt92
5.7.2获取指定元素或默认值操作ElementAtOrDefault93
5.7.3获取第一个元素操作First93
5.7.4获取第一个元素或默认值操作FirstOrDefault94
5.7.5获取最后一个元素操作Last95
5.7.6获取最后一个元素或默认值操作LastOrDefault96
5.7.7获取单个元素操作Single97
5.7.8获取单个元素或默认值操作SingleOrDefault97
5.8数据类型转换操作98
5.8.1转换为泛型集合操作AsEnumerable99
5.8.2转换为序列操作AsQueryable100
5.8.3转换元素数据类型操作Cast101
5.8.4筛选指定类型元素操作OfType101
5.8.5转换为泛型列表操作ToList102
5.8.6转换为数组操作ToArray103
5.8.7转换为字典操作ToDicionary104
5.8.8转换为一对多字典操作ToLookup104
5.9生成操作105
5.9.1创建包含默认元素或空值的集合操作DefaultIfEmpty106
5.9.2创建空序列操作Empty107
5.9.3创建指定范围值的序列操作Range107
5.9.4创建重复元素序列的操作Repeat108
5.10限定符操作108
5.10.1检查序列所有元素是否满足指定条件的操作All109
5.10.2检查序列是否存在满足指定条件的操作Any110
5.10.3检查序列是否包含指定元素的操作Contains110
5.11数据分区操作111
5.11.1跳过指定元素的操作Skip112
5.11.2跳过满足指定条件的元素的操作SkipWhile113
5.11.3提取指定元素的操作Take114
5.11.4提取满足指定条件的元素的序列TakeWhile114
5.12联接操作115
5.12.1联接操作Join116
5.12.2分组联接操作GroupJoin118
5.13相等操作SequenceEqual120
5.14串联操作Contact121
第三篇LINQtoSQL
第6章LINQtoSQL对象模型125
6.1LINQtoSQL概述125
6.2使用VisualStudio2008创建DBML文件128
6.2.1创建DBML文件129
6.2.2LINQ代码生成工具SqlMetail.exe131
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章数据上下文160
7.1DataContext概述160
7.2DataContext类的属性162
7.2.1连接属性Connection162
7.2.2事务属性Transaction162
7.2.3执行命令的最大时间属性CommandTimeout164
7.2.4冲突对象集合属性ChangeConflicts164
7.2.5是否延时加载关系属性DeferredLoadingEnabled166
7.2.6数据导入选项属性LoadOptions166
7.2.7日志属性Log167
7.3DataContext类的方法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查询和操作数据库181
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
第四篇LINQtoObjects、DataSet和XML
第9章LINQtoObjects209
9.1LINQtoObjects概述209
9.2使用LINQ操作集合209
9.2.1操作静态数组210
9.2.2操作动态数组211
9.2.3操作泛型列表ListT213
9.2.4操作泛型排序列表SortedListTKey,TValue214
9.2.5操作泛型双向链表LinkedListT216
9.2.6操作泛型队列QueueT216
9.2.7操作泛型堆栈StackT218
9.2.8操作泛型哈希集HashSetT219
9.2.9操作泛型字典DictionaryTKey,TValue221
9.2.10操作泛型排序字典SortedDictionaryTKey,TValue221
9.2.11操作泛型通用集合CollectionT223
9.2.12操作泛型绑定列表BindingListT224
9.3使用LINQ操作字符串226
9.3.1查找指定的字符226
9.3.2查找指定的字符串227
9.3.3词频统计228
9.3.4LINQ查询使用正则表达式处理字符串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章LINQtoDataSet239
10.1LINQtoDataSet概述239
10.2DataTableExtensions类241
10.2.1AsDataView()方法241
10.2.2AsEnumerable()方法242
10.2.3CopyToDataTable()方法244
10.3DataRowExtensions类245
10.3.1泛型FieldT()方法246
10.3.2泛型SetFieldT()方法247
10.4使用LINQ查询DataSet249
10.4.1查询DataSet中的单个表249
10.4.2查询DataSet中的多个表250
10.4.3使用投影操作查询DataSet253
10.4.4使用筛选操作查询DataSet253
10.4.5使用排序操作查询DataSet255
10.4.6使用聚合操作查询DataSet256
10.4.7使用元素操作查询DataSet258
10.4.8使用联接操作查询DataSet259
10.4.9使用数据分区操作查询DataSet260
10.4.10使用集合操作比较DataRow262
10.5使用LINQ查询DataView264
10.5.1使用LINQ过滤数据264
10.5.2使用LINQ排序数据266
10.5.3使用LINQ创建DataView267
第11章LINQtoXML269
11.1LINQtoXML概述269
11.2LINQtoXML基础类271
11.2.1XElement类271
11.2.2XAttribute类273
11.2.3XDocument和XDeclaration类275
11.2.4XComment类277
11.2.5XNamespace类278
11.2.6LINQtoXML其他基础类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
第五篇LINQ应用
第12章LINQ在ASP.NET中的应用299
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窗体中的应用316
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
……