你必须掌握的EntityFramework6.x与Core2.0pdf下载pdf下载

你必须掌握的EntityFramework6.x与Core2.0百度网盘pdf下载

作者:
简介:本篇主要提供你必须掌握的EntityFramework6.x与Core2.0pdf下载
出版社:清华大学出版社
出版时间:2018-07
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介

《你必须掌握的Entity Framework 6.x与Core 2.0 》针对Entity Framework 6.x和Entity Framework Core 2.0以通俗易懂的语言进行深入、全面的探讨,并结合实例来介绍如何灵活运用。

《你必须掌握的Entity Framework 6.x与Core 2.0 》共四篇,内容分为19章,第一篇(第1~3章)讲述Entity Framework 6.x基础,并深入讲解如何创建过滤索引、迁移的本质等;第二篇(第4~8章)讲述Entity Framework 6.x进阶,充分阐述Entity Framework 6.x背后隐藏的原理、性能优化、并发解析等;第三篇(第9、10章)讲述Entity Framework Core 2.0基础,并对Entity Framework Core每一版本所出现的新特性进行详细介绍和深入研究;第四篇(第11~19章)讲述Entity Framework Core 2.0进阶,内容包括Entity Framework Core变更追踪策略、创建上下文实例方式、性能优化,结合Entity Framework Core 2.0特性实现多租户模式,利用Entity Framework Core进行数据审计、并发解析等。

《你必须掌握的Entity Framework 6.x与Core 2.0 》适合ASP.NET开发人员阅读,也适合高等院校和培训学校相关专业的师生作为教学参考书。


作者简介

汪 鹏,网名Jeffcky,湖南岳阳人,博客园推荐博主,微软MVP(微软有价值专家),拥有多年Entity Framework开发经验,乐于分享,对于Entity Framework的性能优化有深刻理解。

目录

第一篇 Entity Framework 6.x基础
第1章 Entity Framework的发展
1.1 Entity Framework版本介绍
1.2 Entity Framework 领域建模方式
1.2.1 Code First
1.2.2 Model First
1.2.3 Database First
1.3 使用Entity Framework Code First 6.x 的原因
1.4 小结
第2章 数据库表的创建和迁移
2.1 数据库连接和初始化策略
2.1.1 数据库连接
2.1.2 数据库初始化策略
2.2 约定
2.2.1 类型发现
2.2.2 主键约定
2.2.3 关系约定
2.2.4 复杂类型约定
2.2.5 自定义约定
2.3 基于代码配置
2.4 配置属性映射和关系映射
2.4.1 属性映射
2.4.2 关系映射
2.4.3 私有化属性映射
2.5 继承映射策略
2.5.1 Table per Hierarchy(TPH)
2.5.2 Table per Type(TPT)
2.5.3 Table per Concrete class(TPC)
2.5.4 Entity Splitting
2.5.5 Table Splitting
2.6 代码迁移
2.6.1 迁移命令
2.6.2 迁移的本质
第3章 实体状态和数据操作
3.1 实体状态
3.2 数据操作
3.2.1 数据查询
3.2.2 数据保存
3.2.3 自动生成存储过程
3.3 避免陷阱
3.3.1 导航属性查询
3.3.2 分页查询
3.3.3 语义可空
3.3.4 表值函数
3.3.5 日期操作
3.4 基础篇实战

第二篇 Entity Framework 6.x进阶
第4章 上下文管理和变更追踪原理
4.1 上下文生命周期管理
4.1.1 基础模式追溯
4.1.2 生命周期追溯
4.1.3 进化模式追溯
4.2 变更追踪原理
4.2.1 快照式变更追踪
4.2.2 代理式变更追踪
第5章 变更追踪原理和日志管理
5.1 DetectChanges原理
5.1.1 DetectChanges的用途
5.1.2 调用DetectChanges方法的时机
5.1.3 关闭自动调用DetectChanges方法
5.1.4 遗忘的二进制属性和复杂类型
5.2 日志记录
5.2.1 ToString打印
5.2.2 简单日志打印
5.2.3 结构化日志输出
5.2.4 构造块拦截
5.2.5 拦截器异常性能监控
5.2.6 拦截器解决EF 6.1 忽略字符串空格历史遗留问题
5.3 事务
5.4 连接弹性
第6章 并发冲突
6.1 初级版解析
6.2 中级版解析
6.2.1 客户端获胜
6.2.2 数据库获胜
6.2.3 客户端和数据库合并获胜
6.3 高级版解析
6.3.1 简单重试策略
6.3.2 Polly重试策略
第7章 性能优化实践
7.1 优化一:预编译视图
7.2 优化二:减少首次与数据库交互的代码
7.3 优化三:NGen安装Entity Framework 程序集
7.4 优化四:AsNoTrac
7.5 优化五:缓存
7.6 优化六:重新编译查询
7.7 优化七:避免“N+1”Select查询
7.8 优化八:添加索引
7.9 优化九:关闭回调DetectChanges方法
7.10 优化十:使用异步查询
第8章 Entity Framework 6.x实战
8.1 工作单元泛型仓储模式
8.2 依赖注入泛型仓储模式

第三篇 Entity Framework Core 2.0基础
第9章 数据库表的创建和迁移
9.1 数据库初始化策略
9.2 配置属性映射和关系映射
9.2.1 属性映射
9.2.2 Backing Fields
9.2.3 Alternate Keys
9.2.4 Shadow Property
9.2.5 Owned Ent
9.2.6 HasQueryFilter修改
9.2.7 关系映射
9.2.8 继承映射
9.3 代码迁移
9.3.1 控制台程序迁移
9.3.2 Web应用程序迁移
9.3.3 多个上下文迁移
9.3.4 脚手架逆向迁移
第10章 数据操作和初始化数据
10.1 实体状态
10.2 数据操作
10.2.1 数据查询
10.2.2 数据保存
10.3 无连接实体
10.4 初始化数据

第四篇 Entity Framework Core 2.0进阶
第11章 性能优化实践
11.1 AsNoTra
11.2 EF.Functions.Like
11.3 自定义标量函数
11.4 显式编译查询
11.5 上下文实例池
第12章 查询实体元数据和模型数据验证
12.1 查询元数据
12.2 内置模型验证
12.3 第三方扩展模型验证
第13章 上下文实例创建方式
13.1 显式创建上下文实例
13.1.1 带有构造函数的OnConfiguring方法
13.1.2 传递连接字符串参数到构造函数
13.1.3 使用不带依赖注入的DbContextOptions
13.2 依赖注入容器创建上下文实例
13.2.1 带有无参构造函数的DI
13.2.2 带DbContextOptions的DI
13.3.3 使用泛型DbContextOptions
13.3.4 使用AddDbContext/AddDbContextPool
第14章 实现多租户
第15章 捕获审计数据
第16章 变更追踪策略和日志管理
16.1 变更追踪策略
16.1.1 INotifyPropertyChanged
16.1.2 INotifyPropertyChanging
16.2 日志管理
16.2.1 添加控制台包输出
16.2.2 自定义日志输出
第17章 xUnit单元测试
17.1 控制台单元测试
17.2 NET Core Web应用程序单元测试
第18章 事务和并发冲突
18.1 事务
18.2 并发冲突
18.2.1 初级版解析
18.2.2 中级版解析
18.2.3 高级版解析
第19章 Entity Framework Core 2.1 待发布

前言/序言

前 言


本书背景

在Web开发中,ASP.NET MVC使用相当广泛,与之呼应的是使用ORM框架Entity Framework作为概念上的数据访问层,目前有些互联网招聘公司招聘时会明确要求熟练掌握Entity Framework。很多人对Entity Framework嗤之以鼻,不可否认,Entity Framework的性能确实是一个令人头疼的问题,但是还未到弃用的地步,大部分情况下还是我们的认识太浮于表面,没有深究原理,看清其本质。微软为我们封装了一切,我们只需进行傻瓜式的操作即可,但是最终带来的却是疯狂吐槽,请深入思考自己对Entity Framework是否有足够了解。笔者看过并搜索过很多关于Entity Framework和Entity Framework Core的博客,发现大部分内容介绍的太过浅显,学习一门新技术需要的是细嚼慢咽而非囫囵吞枣。对于中文版的Entity Framework和Entity Framework Core,市面上几乎没有一本著作进行相关介绍,导致很多人都是跟着别人的脚步笼统地学着,且一知半解、不知所云。基于以上几点,笔者打算尽最大的能力分享自己所理解的Entity Framework和Entity Framework Core,让大家能够循序渐进并系统地学习。

本书特点

本书中Entity Framework和Entity Framework Core的内容完全不是从官方网站摘抄和翻译而来,如果你看过官方网站的目录介绍就会发现和笔者所列举的目录截然不同,从基础到进阶都经过笔者的精心编排,同时一切内容都不会蜻蜓点水似的泛泛而谈,均结合实际小型案例有理有据论证而来,掌握基础是必备前提,在完善基础的充分条件下,你会进一步深入基础。原理是必要条件,在掌握原理的条件下,从吸收到消化才是最终的归宿。如果你在实际项目中正在用Entity Framework 6.x,相信Entity Framework 6.x的内容会对你有进一步提高,如果你还在担心Entity Framework 6.x的性能,那么可阅读Entity Framework Core 2.0的内容,相信会让你刮目相看。

本书读者

本书Entity Framework 6.x的内容适合想快速提高的初学读者、想基础拾遗的回炉读者、想进一步提高的进阶读者,而Entity Framework Core 针对已跨平台的.NET Core应运而生,对于想要学习新技术的初学读者和已在项目中应用而需进一步深入的进阶读者均具有很强的参考和学习价值,同时高等院校和.NET技术培训机构也可选择本书作为参考教材。

代码、勘误和支持

本书中的实例代码已上传至Github上(https://github.com/wangpengxpy)。

虽然笔者耗费大量时间对书稿进行反复的修改和推敲,但是水平有限,仍难免有疏漏之处,为了使本书能够更好地为读者服务,如果有问题,可通过QQ邮箱(2752154844@qq.com)与笔者的博客(http://www.cnblogs.com/createmyself)与本人联系。笔者将竭力解决所有问题,并向你的指正致谢。

致谢

感谢夏毓彦编辑以及出版社其他人对本书所做的工作,正是你们的贡献使得这本书得以出版。你们所做的工作提升了本书的质量和准确性,使本书的品质能够得到保证,也让笔者更加有信心将自己对技术的理解展示给需要的读者。

写好一本书所投入的精力和时间无法估量,没有家人的支持和女友的理解,这本书不可能面世。感谢我的父亲、母亲、哥哥、姐姐,他们永远是我归宿的港湾,是我人生的支点和明灯,谢谢他们恒久不变的支持。特别感谢我的女友刘瑶,因为写作本书花费了大量时间而忽略了对她的关心,感谢她的体贴入微。现在,本书算是告一段落,终于有时间去多陪陪她了。

当然,最重要的是感谢一直以来关注笔者的同行技术者,是他们的鼓舞和肯定使得笔者在技术路上走得更远,感谢博客园给予的平台,让笔者能够学习和分享自己的见解,同时也感谢选择本书的读者,相信本书能够让你有所收获。

T-SQL语言的两种支

汪 鹏

2018年1月