[翻译] Entity Framework Core in Action 关于这本书

Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core 书籍。原版地址. 是除了官方文档外另一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识。因为没有中文版,所以本人对其进行翻译。 预计每两天一篇更新 PS: 翻译难免限于本人水平有不准确的地方,建议英文水平不错的同学直接查看原版,有不足的地方欢迎指正

第一部分目录导航

关于这本书

本书的目的是让读者掌握如何快速,正确的编写EF Core数据库访问代码,并实现高性能. 围绕着 "快速、正确、性能" 这些方面,我提供了大量的示例,其中包含大量的技巧和技术. 在讲解的过程中,我加入了很多EF Core内部原理的内容,因为当数据库访问代码无法按照预期工作时,这些将会帮助你进行分析. 微软的文档也是学习Entity Framework Core不错的选择,但是它没有提供详细的示例. 在本书中,我尝试为每个功能提供一个示例,你会在Git仓库中找到单元测试代码(参见 "关于代码" 部分的链接). 有时阅读单元测试代码会比书中的内容更容易理解,所以单元测试是一种有用的资源.

本书适合什么样的读者

本书面向的是从未使用过EF和经验丰富的EF6x开发人员,以及想要了解EF Core的人. 本书假设读者已经熟悉C#,Net开发,并且对关系型数据库有所了解, 不要求对C#多太过深入的了解,但是如果你初学C#,可能会发现有些代码难以阅读,因为我不会讲解C#,但我会提供一个关于Linq(语言集成查询)的附录

本书内容是如何组织的

本书的路径是从基础(第1部分)开始,深入理解(第2部分),最后以实用的工具和技术(第3部分)结束
我不会假设读者从头到尾的阅读这本书,但至少略读前5章会帮助读者理解我在书中后面使用到的基础知识

Part 1 : 基础

第1章通过第一个简单的控制台应用介绍EF core,你将看到EF Core的每个部分. 我还概述了EF Core的工作原理以及为什么你会爱上它.

第2章介绍了查询(从数据库中读取数据),我将介绍存储在数据库中的数据之间的关系,以及如何使用EF Core加载相关数据

第3章介绍了更改数据库中的数据: 添加、更新、删除

第4章介绍了如何使用EF Core构建健壮的业务逻辑数据库访问代码,业务逻辑是应用程序解决特定业务问题时所实现的业务规则或工作流代码名称

第5章是关于构建使用EF Core的ASP.Net Core应用程序,它汇总了第2章到第4章的内容创建了一个Web应用程序,我还谈到了部署Web应用程序和访问托管数据库

Part 2 : 深入理解Entity Framework core

第6章介绍了配置非关系属性 -- 包含值(如int、string、DateTime等)的属性

第7章介绍了关系的配置-- 类之间的关系, 例如Book包含一个或多个Author. 还讲解了特殊的映射方式,例如将多个类映射到一个表

第8章介绍了高级映射功能以及检测和处理并发冲突

第9章深入讨论EF Core的DbContext的工作原理,并逐一介绍应用程序的DbContext中各个方法和属性的作用

Part 3 : 在真实的应用程序中使用Entity Framework Core

第10章是工具,模式和技巧的概要,可以让你使用EF Core更快速的开发和使代码更加健壮,我还介绍了如何在领域驱动设计方法中使用EF Core

第11章介绍了使用EF Core时更改数据库结构的所有方式,它还包括当你更改实时应用程序所使用的数据库结构时出现的问题

第12章列出了所有可能影响数据库访问性能的问题以及如何处理它们

第13章是一个优化EF Core应用程序性能的示例,我使用第1部分中开发的图书应用程序进行三个级别的性能调优

第14章从介绍更改数据库类型时会发生什么开始,然后介绍一种可以提升某些业务应用程序性能的程序架构,最后以访问和修改EF Core的内部服务结束

第15章是关于使用EF Core进行单元测试的应用程序,我还创建了一个nuget包,你可以使用它帮助你进行单元测试

注: 我在书的章节中都添加了有关EF Core2.1特性的注释,这些指出了2.1版在哪些方面相比较EF 2.0有了新选择

关于代码

我觉得,只有编写代码才会真正的对某些功能或特性有深入的理解. 在git仓库中每章甚至章的部分都有一个自己的分支, 仓库地址可以在这里找到 https://github.com/liangshiw/EfCoreInAction (原地址: https://github.com/JonPSmith/EfCoreInAction). 有关更多信息,请参见git仓库Readme的 在哪里找到代码 部分 https://github.com/liangshiw/EfCoreInAction/blob/master/README.md#wheres-the-code (原地址: https://github.com/JonPSmith/EfCoreInAction/blob/master/README.md#wheres-the-code)

注: 第15章内容是关于单元测试的,它有自己的git仓库 https://github.com/liangshiw/EfCore.TestSupport (原地址: https://github.com/JonPSmith/EfCore.TestSupport)
我之所以将它与前14章分开是因为它包含的工具和功能可以帮助你进行单元测试,你还可以将 EfCore.TestSupport 包安装到你的项目中,使用我在15章中描述的功能

编写代码或运行git仓库中的代码,你需要以下内容

开发环境 (我对原文进行了简化)

  • Visual Studio 2017

  • 也可以使用Visual Studio Code,我在每个分支中设置了.vscode目录,可以正确的构建,测试和运行代码

  • .Net Core SDK

注: git仓库太多使用的是.Net Core 2.0,但是我将一些分支更新到了.Net Core 2.1,参见 https://github.com/liangshiw/EfCoreInAction#net-core-21-examples (原地址: https://github.com/JonPSmith/EfCoreInAction#net-core-21-examples)

其他资源

以下是微软文档,EF Core源码和其他有用的资源的链接

  • 微软 EF Core 文档: https://docs.microsoft.com/zh-cn/ef/core/index

  • EF Core路线图: https://github.com/aspnet/EntityFrameworkCore/wiki/roadmap

  • EF Core源码: https://github.com/aspnet/EntityFrameworkCore

  • ASP.NET Core与EF Core共同使用的教程: https://docs.microsoft.com/zh-cn/aspnet/core/data/

  • Stack Overflow EF Core tag: [entity-framework-core] https://stackoverflow.com

原文链接:https://www.cnblogs.com/LiangSW/p/10319651.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NC51189 Mondriaan‘s Dream

NC51189 Mondriaan’s Dream 题意: n * m的矩阵,用1 * 2和2 * 1的砖快密铺,问多少种方法: 题解: 方法1: 我们现在规定砖头的竖放的上部分为1,砖头的横放或者是竖放的下部分为0 我们每两层进…

《小团队构建大网站:中小研发团队架构实践》送书活动结果公布

截止到1月25日24:00,本次送书活动共收到75位同学参与回复,本次很多同学在看到活动的书十年IT老兵带你通过案例学架构,附C#代码,自行就到各大网络商店上购买了书,据反馈这个书很不错.下面把Top 2的留言截图给…

test6 3-21 2021省选模拟赛six

文章目录考试复盘rnglgpm考试复盘 第一题,乍一看期望,又不会做了,乍二看,暴力好像可以202020跑路,屁颠屁颠敲完死活过不了这个简单的样例;开始(⊙⊙?)乍三看,实数??完了…

如何为 .NET Core CLI 启用 TAB 自动补全功能

Intro在 Linux 下经常可以发现有些目录/文件名,以及有些工具可以命令输入几个字母之后按 TAB 自动补全,最近发现其实 dotnet cli 也可以,从.NET Core 2.0 SDK 开始,NET Core CLI 支持 tab 自动补全。你如果已经装了 dotnet Core S…

P8215-[THUPC2022 初赛]分组作业【网络流】

正题 题目链接:https://www.luogu.com.cn/problem/P8215 题目大意 有2n2\times n2n个人,第2i−12\times i-12i−1和第2i2\times i2i个人一组,然后每个人可以选择愿不愿意合作,愿意需要付出cic_ici​代价,不愿意是did_idi​代价&…

.NET IdentityServer4实战-开篇介绍与规划

一.开篇寄语由于假期的无聊,我决定了一个非常有挑战性的活动,也就是在年假给大家带来一个基于OAuth 2.0的身份授权框架,它就是 IdentityServer4 ,如果没有意外的话,一定可以顺利的写完的,如果两天写一篇的话…

test5 3-20 2021省选模拟赛five

考试复盘 第一题??是个什么互动哦,直接乱来的( ̄ ̄)σ…(__)ノ|壁 第二题是前几天考过的,所以知道是polyapolyapolya,但是式子推到最后的二项式定理没推对&am…

微信小程序开发必看,《使用 .NET Core + DevOps 开发微信跨平台应用》,苏州.NET俱乐部课程分享...

【课程名称】《使用 .NET Core DevOps 开发微信跨平台应用》【老师介绍】苏震巍,苏州盛派网络CEO,微软最有价值专家(MVP)、微软 Ignite 技术大会讲师,Senparc.Weixin作者,《微信开发深度解析》等书作者。苏…

test 7 3-22 2021省选模拟赛seven

文章目录考试复盘人生赢家黑红兔考试复盘 T1T1T1 subtask1:n≤5subtask1:n\le 5subtask1:n≤5,暴搜点的颜色状态以及边的存在状态 对于一条连接相同颜色点的边,可要可不要,不会提供形态变化的贡献,2edge2^{edge}2edge dpdpdp&…

Shadow Properties之美(一)【Microsoft Entity Framework Core随笔】

最近在做公司的项目的时候,开始把部分程序迁移到EF Core,然后有了一些感触,趁着还没忘却,还是先记录下来。EF Core还在成长中,我写这个的时候,版本是2.2。如果对着已有的EF 5/6来说,还有很多功能…

E - Another Postman Problem FZU - 2038

E - Another Postman Problem FZU - 2038 题意: n个点通过n-1个边两两相连,每个边有权值,求对于每个点到其他点的距离和的总和 题解: 我们以下图中的1-2这条边为例子,1-2这条边一共计算了几次? 我们现在…

ASP.NET Core 3.0 项目开始“瘦身”

新的 ASP.NET Core 项目使用名为Microsoft.AspNetCore.App的综合包。该包也可以称为“ASP.NET Core 共享框架”,其背后的基本思想是,包括一个典型的应用程序所需要的所有东西。但是,如果看看该包的依赖项,对“需要”的定义看起来相…

一个.NET Core开发者的Linux入门学习笔记

用.NET Core开发也有一段时间了,但是由于工作原因一直都是在Windows系统上进行的开发,一直想学习Linux然后把.NET Core开发的程序跑在Linux上,然后把心得体会记录一下发布再博客园,奈何拖延症泛滥,所以只写过一篇《Cen…

一二三系列之状压DP——Max Correct Set(一)Neko Rules the Catniverse (Large Version)(二)Make It Ascending(三)

文章目录一:CF1463F二:CF1152F2三:CF1342F一:CF1463F Max Correct Set 有一个结论:以xyxyxy为周期排列填充一定是不劣于最后的答案的 令pxy,rn%ppxy,rn\%ppxy,rn%p ⌊np⌋\lfloor\frac{n}{p}\rfloor⌊pn​⌋出现次数为…

实用帖 | 使用Visual Studio开发.NET Core推荐设置

Visual Studio 一直是.NET程序员的好伙伴,如今虽然.NET Core的开发可以用VSCode等其他环境,但VS依旧有强大的优势。今天来介绍下如何让VS用得更顺手的技能Here We Go!⛷基本配置首先要搞清楚的一点是,并不是所有版本的Visual Studio都支持.NE…

P3642 [APIO2016]烟火表演(左偏树、函数)

解析 感觉是左偏树的神题了. 首先有一个比较显然的结论,一个合法的方案中,两个叶子到它们 lca\text{lca}lca 的距离必须相等. 考虑设计 dp\text{dp}dp : fi,xf_{i,x}fi,x​ 表示 iii 的子树中,所有叶子到它的距离为 xxx 的最小…

.NET Core IdentityServer4实战 第一章-入门与API添加客户端凭据

内容:本文带大家使用IdentityServer4进行对API授权保护的基本策略作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址。本文将要讲述如何使用IdentityServer4对API授权保护以及如何携带Token进行访问受保护的API,通过HttpC…

蒋金楠:200行代码7个对象《ASP.NET Core框架揭密》苏州.NET俱乐部课程分享

【课程名称】《ASP.NET Core框架揭密》【老师介绍】蒋金楠,同程艺龙机票事业部技术专家,微软最有价值专家(MVP,连续12),多本.NET专著作者。博客园Artech,公众号“大内老A”。【课程简介】讲述AS…

H - Checker FZU - 2041

H - Checker FZU - 2041 题意: 一个长度为n的01串,现在能将里面的1移动m次,问最长的连续0是多长 题解: 没想出来,看了其他人代码,就是对于每个0空间进行扩充,然后记录每次扩充的最大值 关键…

2021-4-1 多校省选模拟赛

文章目录考试复盘nmd考试复盘 T1T1T1 我可太喜欢这种不要脑子的莽试题了!! 考场上猜的结论d>3d>3d>3无解 d1,d2d1,d2d1,d2的填法也试出来了 d3d3d3只试出来了n,mn,mn,m是333的倍数的填法 但是另外的情况就GGGGGG了 最后交上去竟然还敲挂了(…