你必须掌握的EntityFramework6.x与Core2.0+EntityFramework

你必须掌握的EntityFramework6.x与Core2.0+EntityFramework pdf epub mobi txt 电子书 下载 2025

汪鹏 吕高旭 著
图书标签:
  • NET
  • EntityFramework
  • EntityFramework6
  • EntityFrameworkCore
  • ORM
  • 数据访问
  • C#
  • 数据库
  • 开发
  • 教程
  • 实战
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 蓝墨水图书专营店
出版社: 清华大学
ISBN:SL259
商品编码:28883037327

具体描述



你必须掌握的Entity Framework 6.x与Core 2.0深入EF与EF Core技术,掌握跨平台ORM框架

作者:汪鹏

定价:99元

印次:1-1

ISBN:9787302500179

出版日期:2018.07.01

印刷日期:2018.05.23

 

《你必须掌握的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的发展 3

 

1.1  Entity Framework版本介绍 3

 

1.2  Entity Framework 领域建模方式 4

 

1.2.1  Code First 4

 

1.2.2  Model First 5

 

1.2.3  Database First 5

 

1.3  使用Entity Framework Code First 6.x 的原因 6

 

1.4  小结 6

 

第2章  数据库表的创建和迁移 7

 

2.1  数据库连接和初始化策略 7

 

2.1.1  数据库连接 7

 

2.1.2  数据库初始化策略 10

 

2.2  约定 11

 

2.2.1  类型发现 11

 

2.2.2  主键约定 12

 

2.2.3  关系约定 13

 

2.2.4  复杂类型约定 14

 

2.2.5  自定义约定 15

 

2.3  基于代码配置 22

 

2.4  配置属性映射和关系映射 24

 

2.4.1  属性映射 25

 

2.4.2  关系映射 42

 

2.4.3  私有化属性映射 56

 

2.5  继承映射策略 58

 

2.5.1  Table per Hierarchy(TPH) 58

 

2.5.2  Table per Type(TPT) 59

 

2.5.3  Table per Concrete class(TPC) 62

 

2.5.4  Entity Splitting 65

 

2.5.5  Table Splitting 67

 

2.6  代码迁移 69

 

2.6.1  迁移命令 69

 

2.6.2  迁移的本质 73

 

第3章  实体状态和数据操作 82

 

3.1  实体状态 82

 

3.2  数据操作 84

 

3.2.1  数据查询 85

 

3.2.2  数据保存 102

 

3.2.3  自动生成存储过程 112

 

3.3  避免陷阱 115

 

3.3.1  导航属性查询 115

 

3.3.2  分页查询 116

 

3.3.3  语义可空 117

 

3.3.4  表值函数 119

 

3.3.5  日期操作 121

 

3.4  基础篇实战 122

 

第二篇  Entity Framework 6.x进阶

 

第4章  上下文管理和变更追踪原理 137

 

4.1  上下文生命周期管理 137

 

4.1.1  基础模式追溯 137

 

4.1.2  生命周期追溯 139

 

4.1.3  进化模式追溯 142

 

4.2  变更追踪原理 144

 

4.2.1  快照式变更追踪 144

 

4.2.2  代理式变更追踪 146

 

第5章  变更追踪原理和日志管理 155

 

5.1  DetectChanges原理 155

 

5.1.1  DetectChanges的用途 155

 

5.1.2  调用DetectChanges方法的时机 157

 

5.1.3  关闭自动调用DetectChanges方法 159

 

5.1.4  遗忘的二进制属性和复杂类型 162

 

5.2  日志记录 165

 

5.2.1  ToString打印 165

 

5.2.2  简单日志打印 166

 

5.2.3  结构化日志输出 169

 

5.2.4  构造块拦截 171

 

5.2.5  拦截器异常性能监控 175

 

5.2.6  拦截器解决EF 6.1忽略字符串空格历史遗留问题 187

 

5.3  事务 191

 

5.4  连接弹性 212

 

第6章  并发冲突 217

 

6.1  初级版解析 217

 

6.2  中级版解析 222

 

6.2.1  客户端获胜 223

 

6.2.2  数据库获胜 224

 

6.2.3  客户端和数据库合并获胜 225

 

6.3  高级版解析 226

 

6.3.1  简单重试策略 226

 

6.3.2  Polly重试策略 227

 

第7章  性能优化实践 231

 

7.1  优化一:预编译视图 231

 

7.2  优化二:减少首次与数据库交互的代码 235

 

7.3  优化三:NGen安装Entity Framework 程序集 237

 

7.4  优化四:AsNoTracking 239

 

7.5  优化五:缓存 239

 

7.6  优化六:重新编译查询 245

 

7.7  优化七:避免“N+1”Select查询 249

 

7.8  优化八:添加索引 251

 

7.9  优化九:关闭回调DetectChanges方法 255

 

7.10  优化十:使用异步查询 257

 

第8章  Entity Framework 6.x实战 258

 

8.1  工作单元泛型仓储模式 258

 

8.2  依赖注入泛型仓储模式 278

 

第三篇  Entity Framework Core 2.0基础

 

第9章  数据库表的创建和迁移 295

 

9.1  数据库初始化策略 295

 

9.2  配置属性映射和关系映射 298

 

9.2.1  属性映射 300

 

9.2.2  Backing Fields 311

 

9.2.3  Alternate Keys 316

 

9.2.4  Shadow Property 317

 

9.2.5  Owned Entities 321

 

9.2.6  HasQueryFilter修改 322

 

9.2.7  关系映射 327

 

9.2.8  继承映射 346

 

9.3  代码迁移 351

 

9.3.1  控制台程序迁移 351

 

9.3.2  Web应用程序迁移 353

 

9.3.3  多个上下文迁移 364

 

9.3.4  脚手架逆向迁移 367

 

第10章  数据操作和初始化数据 371

 

10.1  实体状态 371

 

10.2  数据操作 371

 

10.2.1  数据查询 371

 

10.2.2  数据保存 393

 

10.3  无连接实体 398

 

10.4  初始化数据 401

 

第四篇  Entity Framework Core 2.0进阶

 

第11章  性能优化实践 407

 

11.1  AsNoTracking 407

 

11.2  EF.Functions.Like 410

 

11.3  自定义标量函数 412

 

11.4  显式编译查询 416

 

11.5  上下文实例池 419

 

第12章  查询实体元数据和模型数据验证 424

 

12.1  查询元数据 424

 

12.2  内置模型验证 426

 

12.3  第三方扩展模型验证 429

 

第13章  上下文实例创建方式 432

 

13.1  显式创建上下文实例 432

 

13.1.1  带有构造函数的OnConfiguring方法 432

 

13.1.2  传递连接字符串参数到构造函数 433

 

13.1.3  使用不带依赖注入的DbContextOptions 433

 

13.2  依赖注入容器创建上下文实例 434

 

13.2.1  带有无参构造函数的DI 434

 

13.2.2  带DbContextOptions的DI 434

 

13.3.3  使用泛型DbContextOptions 435

 

13.3.4  使用AddDbContext/AddDbContextPool 436

 

第14章  实现多租户 437

 

第15章  捕获审计数据 446

 

第16章  变更追踪策略和日志管理 451

 

16.1  变更追踪策略 451

 

16.1.1  INotifyPropertyChanged 453

 

16.1.2  INotifyPropertyChanging 457

 

16.2  日志管理 458

 

16.2.1  添加控制台包输出 458

 

16.2.2  自定义日志输出 459

 

第17章  xUnit单元测试 462

 

17.1  控制台单元测试 463

 

17.2  NET Core Web应用程序单元测试 465

 

第18章  事务和并发冲突 468

 

18.1  事务 468

 

18.2  并发冲突 473

 

18.2.1  初级版解析 474

 

18.2.2  中级版解析 478

 

18.2.3  高级版解析 482

 

第19章  Entity Framework Core 2.1 待发布 488

 应用Entity Framework

 

作者:吕高旭

 

定价:79元

 

印次:1-1

 

ISBN:9787302485933

 

出版日期:2018.01.01

 

 

 

Entity Framework 是微软公司 .NET 平台支持的对象关联映射技术,开发人员可以通过实体数据模型对象与数据库进行沟通,建立更坚固的商业应用程序系统,避免因为通过 ADO.NET 直接处理 SQL 语句而带来的风险与可能引发的错误。本书通过介绍Entity Framework与 LINQ 开发实战的案例,以 Entity Framework 技术内容的讨论为主线,结合关键的 LINQ技巧说明,提供读者系统性学习 Entity Framework 所需的内容。本书旨在帮助读者进入 Entity Framework的世界,建立必要的技术能力,同时希望读者在完成本书的教学课程之后,能够更进一步地将其运用在实际的项目开发中。

ASP.NET MVC企业级实战 平装 – 2017年4月1日

邹琼俊 (作者)

定价 89元

出版社: 清华大学出版社; 第1版 (2017年4月1日)

外文书名: ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites

平装: 476页

语种: 简体中文

开本: 16

ISBN: 7302465045, 9787302465041

条形码: 9787302465041

商品尺寸: 25.8 x 19 x 2.2 cm

商品重量: 839 g

品牌: 清华大学出版社有限公司

ASIN: B06XFNCRNH

ASP.NET MVC 是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序框架。MVC 将一个Web应用分解为Model、View和Controller,有助于管理复杂的应用程序,并简化了分组开发,使得复杂项目更易维护。 本书共分为12章,以符合初学者思维的方式系统地介绍ASP.NET MVC的应用技巧,并结合实际项目详细地介绍如何基于ASP.NET MVC构建企业项目。通过本书的学习,读者可以全面掌握ASP.NET MVC的开发,并从代码中获取软件开发与架构设计的经验与灵感。 本书具有很大的参考价值,既适合ASP.NET MVC开发初学者阅读,也适合有一定基础的ASP.NET MVC开发人员进行技术强化和经验积累,同时还适合作为高等院校和培训学校相关专业的教学参考书。
剖析数据持久化:从经典到革新的探索之旅 在现代软件开发中,数据持久化是连接应用程序逻辑与底层存储的生命线。无论是构建功能强大的企业级应用,还是敏捷迭代的Web服务,高效、可靠地管理数据存储都至关重要。本书将带领您深入探索数据持久化的核心概念,从久经考验的Entity Framework 6.x(简称EF6.x)到面向未来的Entity Framework Core 2.0+(简称EF Core),为您呈现一场从经典到革新的技术盛宴。 认识您的数据,掌控您的存储:EF6.x 的坚实基础 Entity Framework 6.x 作为.NET平台上备受推崇的对象关系映射(ORM)框架,以其成熟稳定、功能丰富而著称。它极大地简化了开发人员与关系型数据库交互的复杂性,让您能够用面向对象的方式来思考和操作数据,而无需编写大量的SQL语句。 在EF6.x的旅程中,我们将从最基础的“Code-First”和“Database-First”两种模型入手,理解如何根据您的项目需求灵活地选择数据模型设计方式。我们将深入讲解实体(Entities)和 DbContext的概念,这是EF6.x的核心组成部分。您将学会如何定义您的领域模型,每一个实体类都将映射到数据库中的一张表,实体类的属性则对应表的列。`DbContext`则扮演着数据协调员的角色,它负责跟踪实体对象的更改,并最终将这些更改同步到数据库。 模型映射的艺术: 如何精确地将您的C类映射到数据库的表结构?本书将详细阐述各种映射配置技术,包括如何使用数据注解(Data Annotations)和Fluent API来定义主键、外键、列的长度、是否可为空、默认值等细节。您将掌握如何处理一对一、一对多、多对多等各种复杂的实体关系,并理解EF6.x如何自动生成相应的数据库关系。 CRUD 操作的精髓: 学习如何在EF6.x中高效地执行创建(Create)、读取(Read)、更新(Update)和删除(Delete)(CRUD)等基本数据操作。我们将探讨如何使用LINQ to Entities查询数据,并深入理解其背后的SQL生成机制。您将学会如何优化查询以提高性能,避免N+1查询问题,并掌握延迟加载(Lazy Loading)、立即加载(Eager Loading)和显式加载(Explicit Loading)等数据检索策略。 迁移的智慧: 随着应用程序的迭代,数据库结构也需要随之演进。EF6.x的迁移(Migrations)功能是管理数据库模式变更的利器。本书将详细介绍如何启用和使用迁移,如何生成和应用迁移脚本,以及如何回滚到之前的数据库版本。您将理解迁移如何帮助您在团队协作和持续集成环境中保持数据库的一致性。 性能调优的秘诀: 任何ORM框架的性能都是开发者关心的焦点。本书将揭示EF6.x的性能瓶颈,并提供一系列实用的性能优化技巧。我们将讨论如何有效地使用`AsNoTracking()`来避免不必要的实体跟踪,如何利用`Include()`和`ThenInclude()`进行高效的关联数据加载,以及如何通过自定义SQL查询来应对复杂场景。 高级特性探索: 除了基础操作,EF6.x还提供了许多强大的高级功能。您将学习如何处理并发控制,以防止数据冲突;如何使用事务(Transactions)来保证数据操作的原子性;如何集成存储过程(Stored Procedures)和原生SQL查询(Raw SQL Queries);以及如何实现数据缓存以进一步提升性能。 面向未来的飞跃:EF Core 2.0+ 的敏捷新生 Entity Framework Core 2.0+ 代表了EF发展的新纪元,它更轻量、更高效,并为跨平台开发提供了更好的支持。EF Core的设计理念更加灵活,并针对现代应用场景进行了优化。 EF Core 的核心优势: 我们将重点介绍EF Core相对于EF6.x的主要改进,包括更小的内存占用、更快的查询执行速度、更好的跨平台兼容性(支持Linux和macOS)、以及对更多数据库提供商的支持。您将理解EF Core如何在保持ORM核心功能的同时,带来更卓越的性能表现。 EF Core 中的模型构建: 尽管EF Core在底层实现上有所不同,但其模型构建的基本思想与EF6.x一脉相承。本书将继续深入讲解EF Core的“Code-First”和“Database-First”模式,并突出EF Core在数据注解和Fluent API上的新特性和变化。您将学习如何利用EF Core提供的更细粒度的配置选项来精确控制模型与数据库的映射。 EF Core 的查询优化: EF Core 在查询性能方面取得了显著的进步。我们将深入探讨LINQ to Entities in EF Core的最新进展,以及EF Core如何更智能地将LINQ查询转换为高效的SQL。您将学习如何利用EF Core提供的查询跟踪(Query Tracking)选项,以及如何通过`AsNoTracking()`等方式来进一步优化查询性能。 EF Core 的迁移和数据库管理: EF Core 的迁移工具也得到了重大的更新和改进。本书将详细介绍EF Core的迁移工作流,包括如何创建、应用和回滚迁移。您将了解EF Core如何在跨平台环境中管理数据库模式变更,并熟悉其命令行接口(CLI)和NuGet包管理器提供的便捷操作。 EF Core 的新技术和模式: EF Core 引入了一些新的概念和模式,以适应现代开发的需求。我们将探讨依赖注入(Dependency Injection)在EF Core中的集成,以及如何利用其来更好地管理`DbContext`的生命周期。您还将了解EF Core在分布式事务、批量操作以及数据变更拦截等方面的最新进展。 跨越两代的无缝衔接: 本书的核心价值在于,它不仅分别深入介绍了EF6.x和EF Core,更重要的是,它会对比分析两者的异同,帮助您理解它们的设计哲学和适用场景。对于那些需要维护现有EF6.x项目,同时又希望引入EF Core以拥抱新技术,或是计划从EF6.x迁移到EF Core的开发者来说,本书提供了宝贵的指导。您将学到如何平滑地过渡,如何识别并解决迁移过程中可能遇到的挑战。 实用案例与最佳实践: 本书的讲解将贯穿大量的实际代码示例和典型场景分析。您将看到如何在不同的项目类型(如Web API、桌面应用、控制台应用)中应用EF6.x和EF Core。我们将分享最佳实践,帮助您编写出清晰、可维护、高性能的数据访问代码。从简单的CRUD到复杂的业务逻辑实现,您将获得全面的指导。 总结: 无论您是刚刚踏入.NET数据持久化领域的新手,还是寻求提升现有技能的资深开发者,本书都将为您提供一份详实、权威的指南。通过对EF6.x的深度挖掘和对EF Core的前瞻性探索,您将不仅能够熟练掌握这两个强大的ORM框架,更能理解它们背后的设计理念,从而在未来的开发道路上,更加自信地驾驭数据,构建出更加出色、更具竞争力的应用程序。

用户评价

评分

这本书简直是我近期技术学习道路上的一盏明灯!作为一名已经摸爬滚打多年、经历过各种ORM工具洗礼的开发者,我曾以为自己对数据持久化已经了然于胸。然而,在阅读《你必须掌握的EntityFramework6.x与Core2.0+EntityFramework》的过程中,我却惊喜地发现,原来在如此熟悉的技术领域,依然存在着如此多值得深入挖掘的宝藏。作者对于Entity Framework 6.x的剖析,不仅仅停留在API的罗列,而是深入讲解了其背后的设计哲学、性能优化技巧以及在实际项目中的最佳实践。例如,对于查询优化,书中详细阐述了延迟加载、即时加载、显式加载的优劣势,并结合了大量代码示例,让我能够直观地感受到不同加载策略对数据库访问效率的影响。更让我印象深刻的是,作者并没有回避EF 6.x在某些场景下的局限性,而是积极地引导读者理解这些限制,并为我们提供了规避或解决的思路。当我看到关于如何处理并发冲突、如何进行数据库迁移管理以及如何在复杂业务场景下构建高效模型时,我仿佛打开了新世界的大门。这本书不仅仅是技术手册,更像是一位经验丰富的导师,在循循善诱地将我引向更深层次的理解。

评分

作为一名刚刚接触ORM不久的新手,我曾对《你必须掌握的EntityFramework6.x与Core2.0+EntityFramework》感到一丝忐忑,担心书中内容过于深奥,难以消化。然而,我的担忧完全是多余的!这本书的结构设计非常合理,从最基础的概念讲起,循序渐进地引导我一步步深入。作者用非常通俗易懂的语言,结合大量的示例代码,将原本复杂的ORM概念解释得明明白白。我尤其喜欢书中关于“实体”、“DbSet”、“DbContext”这些核心概念的讲解,让我能够快速建立起对EF的整体认知。对于数据库的CRUD操作,书中提供了多种实现方式,并详细对比了它们的优缺点,让我能够根据实际情况选择最合适的方法。此外,书中对于如何处理数据库连接、如何进行数据验证以及如何实现简单的ORM模式都给出了清晰的指导。我感觉自己就像是在跟着一位耐心细致的老师学习,每一步都充满了启发和收获。《你必须掌握的EntityFramework6.x与Core2.0+EntityFramework》无疑是我学习ORM的绝佳起点,它让我对数据持久化技术充满了信心,并且为我未来的深入学习打下了坚实的基础。

评分

这本书的出现,彻底改变了我之前对ORM工具的认知。我一直觉得,ORM工具无非就是将对象映射到数据库表,然后提供增删改查的便利,但《你必须掌握的EntityFramework6.x与Core2.0+EntityFramework》却让我看到了ORM的“灵魂”。作者对Entity Framework Core 2.0+的讲解,与其说是技术讲解,不如说是思想的传递。他将EF Core的设计理念、演进方向以及与.NET Core生态的深度融合娓娓道来,让我深刻理解了为什么EF Core会做出这些改变,以及这些改变将为我们带来什么。书中对LINQ to Entities的深度挖掘,让我不再满足于简单的查询,而是开始思考如何编写更简洁、更高效、更具表达力的查询语句。关于依赖注入、配置管理以及如何利用EF Core的特性实现领域驱动设计的实践,更是让我眼前一亮。我特别喜欢书中关于“Code-First”与“Database-First”的对比分析,以及作者对于如何在两者之间权衡取舍的建议。通过本书,我不仅学会了如何使用EF Core,更学会了如何“思考”EF Core,如何用它来构建更健壮、更易于维护的应用程序。这是一种从“工具使用者”到“工具的驾驭者”的升华。

评分

这本书的实用价值,远远超出了我的预期。我之所以购买《你必须掌握的EntityFramework6.x与Core2.0+EntityFramework》,是因为我需要在项目中同时维护基于EF 6.x和EF Core的项目,并且希望能够更深入地理解它们之间的差异和联系。书中对这两种技术的并列讲解,让我能够清晰地看到它们的演进轨迹,以及它们各自的优势和适用场景。作者并没有简单地介绍API,而是深入分析了EF Core在性能、跨平台能力、模块化设计等方面的显著提升,同时也没有忽视EF 6.x在某些复杂场景下的稳定性和成熟度。我特别欣赏书中关于“迁移策略”和“数据库生成”的章节,这对于我这种需要在不同环境下部署项目的开发者来说,简直是福音。书中提供的各种配置选项、性能调优技巧以及与ASP.NET Core等框架的集成方案,都为我节省了大量的摸索时间。这本书不仅仅是一本技术书籍,更像是一份详细的“迁移指南”和“性能优化手册”,它帮助我更自信、更高效地应对项目中遇到的ORM相关挑战。

评分

读完《你必须掌握的EntityFramework6.x与Core2.0+EntityFramework》,我最大的感受就是,ORM技术远不止表面那么简单。作者的视角非常独特,他并没有把这本书写成一本枯燥的API参考手册,而是通过深入的原理分析和丰富的实际案例,让我领略到了ORM技术的“艺术”。对于Entity Framework 6.x,我理解了它在数据库事务、并发控制以及复杂查询方面的深厚底蕴,并且学习了如何通过精巧的设计来规避潜在的性能陷阱。而对于Entity Framework Core 2.0+,我则被它轻量化、模块化、高性能的设计理念所折服,特别是书中对LINQ的深度运用和对依赖注入的巧妙整合,让我看到了ORM技术未来的发展方向。我特别喜欢书中关于“性能剖析”和“缓存策略”的章节,这些内容直接解决了我在实际开发中遇到的痛点,让我能够写出更具竞争力的代码。这本书的写作风格充满了洞察力,它不仅仅是教我“怎么做”,更重要的是让我理解“为什么这么做”,这种深度的思考让我受益匪浅。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有