C#编程基础+ .NET 6重要特性+ ASP.NET Core核心技术=.NET技术体系全接触
融合.NET基础知识、核心技术与项目实现,除使用C#代码外,还结合C++、Java代码进行对比演示,熟悉其中任何一种语言的读者都可以轻松上手
涉及众多现代Web流行技术,包括交互式Web UI框架Blazor、数据访问技术GraphQL、.NET互操作代码的编写等
第一篇 .NET 6基础
第1章 构建.NET 6开发环境 3
1.1 .NET、.NET Core、.NET Standard与.NET Framework 3
1.2 ASP.NET Core与ASP.NET 4
1.3 其他.NET应用模型 4
1.4 Visual Studio简介 4
1.5 安装Visual Studio 5
1.6 小结 7
第2章 Visual Studio的解决方案和项目 8
2.1 解决方案和项目简介 8
2.2 创建解决方案和项目 8
2.2.1 创建方法 8
2.2.2 操作演示和说明 9
2.3 引用其他项目和第三方程序包 12
2.3.1 引用其他项目 12
2.3.2 引用第三方程序包 13
2.3.3 卸载程序包和项目引用 16
2.4 .NET主要项目类型 16
2.5 解决方案和项目文件解析 16
2.5.1 解决方案文件 16
2.5.2 项目文件 17
2.6 小结 18
第3章 C#发展史 19
3.1 简介 19
3.2 C# 1.0 19
3.3 C# 2.0 35
3.4 C# 3.0 44
3.5 C# 4.0 50
3.6 C# 5.0 52
3.7 C# 6.0 53
3.8 C# 7.0 60
3.9 C# 7.1 64
3.10 C# 7.2 65
3.11 C# 7.3 68
3.12 C# 8.0 71
3.13 C# 9.0 81
3.14 本机大小的整数 85
3.15 C# 10.0 91
3.16 小结 95
第二篇 Entity Framework Core
第4章 快速入门 99
4.1 简介 99
4.2 创建项目和安装EF Core 99
4.3 创建数据模型 99
4.4 创建数据上下文 100
4.5 创建数据库 100
4.6 简单使用 101
4.7 小结 102
第5章 实体模型 103
5.1 实体类型和实体模型配置 103
5.2 全局查询过滤器 132
5.3 自定义实体模型注解 132
5.4 自定义数据库函数和映射 133
5.5 在一个上下文类型中使用多个模型 136
5.6 小结 137
第6章 实体模型的关系 138
6.1 概念和术语简介 138
6.2 实体模型的关系与影子属性 138
6.3 一对一关系 139
6.4 一对多关系 143
6.5 多对多关系 146
6.6 模型关系的级联删除 149
6.7 小结 151
第7章 管理实体模型和数据库架构 152
7.1 迁移 152
7.1.1 安装迁移工具 153
7.1.2 管理迁移 154
7.1.3 应用迁移 155
7.1.4 自定义迁移操作 156
7.1.5 使用独立的迁移项目 162
7.1.6 为模型提供多个迁移 163
7.1.7 自定义迁移历史记录 164
7.2 逆向工程 165
7.3 EF Core Power Tools 165
7.4 小结 165
第8章 管理数据 166
8.1 基础保存 166
8.1.1 添加实体 166
8.1.2 更新实体 167
8.1.3 删除实体 168
8.1.4 订阅保存事件和注册保存拦截器 169
8.2 保存相关实体 170
8.2.1 同时添加多个相关实体 170
8.2.2 为主实体单独添加从实体 171
8.2.3 更改实体的关系 172
8.2.4 删除关系 173
8.3 并发冲突 174
8.4 事务 175
8.4.1 简单事务 175
8.4.2 跨上下文事务 176
8.4.3 使用外部事务 177
8.4.4 保存点 178
8.5 异步保存 178
8.6 实体跟踪器和实体追踪图 179
8.6.1 基础使用 179
8.6.2 订阅实体跟踪事件 180
8.7 小结 180
第9章 查询数据 181
9.1 基础查询 181
9.2 复杂查询 184
9.3 原始SQL查询 188
9.4 映射的自定义函数 189
9.5 加载相关数据 191
9.6 跟踪和非跟踪查询 196
9.7 显式编译查询 197
9.8 查看生成的SQL语句 197
9.9 服务端查询和客户端查询 198
9.10 命令拦截器 198
9.11 异步查询 199
9.12 小结 199
第10章 Entity Framework Core共享功能 200
10.1 配置上下文 200
10.2 自动重试 201
10.3 内存数据库 202
10.4 小结 202
第三篇 ASP.NET Core
第11章 快速入门 205
11.1 简介 205
11.2 创建项目 205
11.3 小结 208
第12章 公共基础 209
12.1 依赖注入 209
12.2 配置 223
12.3 选项 226
12.4 日志 234
12.5 主机 238
12.6 Web主机 243
12.7 中间件和请求处理管道 245
12.8 Startup类 254
12.9 静态文件 258
12.10 动态响应和静态资源压缩 260
12.11 缓存 261
12.12 流量控制 264
12.13 端点路由 279
12.14 发送HTTP请求 289
12.15 错误处理 299
12.16 托管和部署 301
12.17 小结 303
第13章 身份认证 304
13.1 基础身份认证 304
13.2 ASP.NET Core Identity 318
13.3 OpenIddict 329
13.4 小结 340
第14章 授权 341
14.1 定义授权策略 341
14.2 配置授权策略 343
14.3 高级功能简介 345
14.4 小结 345
第15章 MVC 346
15.1 简介 346
15.2 模型 347
15.3 控制器和动作 359
15.4 MVC过滤器 362
15.5 视图 368
15.6 区域 388
15.7 MVC路由 389
15.8 应用程序模型 391
15.9 应用程序部件 392
15.10 小结 393
第16章 Razor Pages 394
16.1 简介 394
16.2 基础使用 395
16.3 页面处理器 396
16.4 模型绑定 398
16.5 Razor Pages过滤器 399
16.6 Razor Pages路由 400
16.7 小结 401
第17章 Blazor 402
17.1 简介 402
17.2 公共基础 403
17.3 Razor组件 410
17.4 服务端预渲染 431
17.5 布局 437
17.6 发送HTTP请求 437
17.7 JavaScript互操作 437
17.8 状态管理 442
17.9 程序集延迟加载 443
17.10 渐进式Web应用 445
17.11 调试 447
17.12 托管和部署 450
17.13 小结 463
第18章 Razor类库 464
18.1 简介 464
18.2 静态资源组织 464
18.3 小结 465
第19章 Web API 466
19.1 基础使用 466
19.2 API版本、Open API和Swagger 469
19.3 小结 473
第20章 远程过程调用 474
20.1 WCF回顾 474
20.2 gRPC 475
20.3 小结 481
第21章 实时通信 482
21.1 早期解决方案回顾 482
21.2 WebSocket简介 482
21.3 SignalR 483
21.4 小结 507
第22章 应用安全 508
22.1 数据保护 508
22.2 管理机密 510
22.3 欧盟通用数据保护条例(GDPR) 511
22.4 防御恶意攻击 512
22.5 一般安全功能 515
22.6 小结 517
第23章 高级功能 518
23.1 全球化和本地化 518
23.2 GraphQL 523
23.3 Elsa 565
23.4 MiniProfiler 572
23.5 小结 573
第24章 其他.NET功能 574
24.1 C/C++互操作 574
24.2 程序集的动态载入和卸载 578
24.3 小结 580
第四篇 实战演练
第25章 电子商城项目 583
25.1 项目定位 583
25.2 需求分析 584
25.3 架构设计 585
25.4 创建解决方案和Git存储库 586
25.5 定义应用域的通用抽象接口 588
25.6 开发通用基础设施 601
25.7 开发身份认证和授权中心 608
25.8 开发买家商城 633
25.9 开发卖家管理中心 681
25.10 小结 723