[翻译] Entity Framework Core in Action 关于这本书
Entityframework Core in action是?Jon P smith?所著的關(guān)于Entityframework Core 書籍。原版地址. 是除了官方文檔外另一個(gè)學(xué)習(xí)EF Core的不錯(cuò)途徑, 書中由淺入深的講解的EF Core的相關(guān)知識(shí)。因?yàn)闆](méi)有中文版,所以本人對(duì)其進(jìn)行翻譯。 預(yù)計(jì)每?jī)商煲黄?PS: 翻譯難免限于本人水平有不準(zhǔn)確的地方,建議英文水平不錯(cuò)的同學(xué)直接查看原版,有不足的地方歡迎指正
第一部分目錄導(dǎo)航
關(guān)于這本書
本書的目的是讓讀者掌握如何快速,正確的編寫EF Core數(shù)據(jù)庫(kù)訪問(wèn)代碼,并實(shí)現(xiàn)高性能. 圍繞著 "快速、正確、性能" 這些方面,我提供了大量的示例,其中包含大量的技巧和技術(shù). 在講解的過(guò)程中,我加入了很多EF Core內(nèi)部原理的內(nèi)容,因?yàn)楫?dāng)數(shù)據(jù)庫(kù)訪問(wèn)代碼無(wú)法按照預(yù)期工作時(shí),這些將會(huì)幫助你進(jìn)行分析. 微軟的文檔也是學(xué)習(xí)Entity Framework Core不錯(cuò)的選擇,但是它沒(méi)有提供詳細(xì)的示例. 在本書中,我嘗試為每個(gè)功能提供一個(gè)示例,你會(huì)在Git倉(cāng)庫(kù)中找到單元測(cè)試代碼(參見(jiàn) "關(guān)于代碼" 部分的鏈接). 有時(shí)閱讀單元測(cè)試代碼會(huì)比書中的內(nèi)容更容易理解,所以單元測(cè)試是一種有用的資源.
本書適合什么樣的讀者
本書面向的是從未使用過(guò)EF和經(jīng)驗(yàn)豐富的EF6x開發(fā)人員,以及想要了解EF Core的人. 本書假設(shè)讀者已經(jīng)熟悉C#,Net開發(fā),并且對(duì)關(guān)系型數(shù)據(jù)庫(kù)有所了解, 不要求對(duì)C#多太過(guò)深入的了解,但是如果你初學(xué)C#,可能會(huì)發(fā)現(xiàn)有些代碼難以閱讀,因?yàn)槲也粫?huì)講解C#,但我會(huì)提供一個(gè)關(guān)于Linq(語(yǔ)言集成查詢)的附錄
本書內(nèi)容是如何組織的
本書的路徑是從基礎(chǔ)(第1部分)開始,深入理解(第2部分),最后以實(shí)用的工具和技術(shù)(第3部分)結(jié)束
我不會(huì)假設(shè)讀者從頭到尾的閱讀這本書,但至少略讀前5章會(huì)幫助讀者理解我在書中后面使用到的基礎(chǔ)知識(shí)
Part 1 : 基礎(chǔ)
第1章通過(guò)第一個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)用介紹EF core,你將看到EF Core的每個(gè)部分. 我還概述了EF Core的工作原理以及為什么你會(huì)愛(ài)上它.
第2章介紹了查詢(從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)),我將介紹存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)之間的關(guān)系,以及如何使用EF Core加載相關(guān)數(shù)據(jù)
第3章介紹了更改數(shù)據(jù)庫(kù)中的數(shù)據(jù): 添加、更新、刪除
第4章介紹了如何使用EF Core構(gòu)建健壯的業(yè)務(wù)邏輯數(shù)據(jù)庫(kù)訪問(wèn)代碼,業(yè)務(wù)邏輯是應(yīng)用程序解決特定業(yè)務(wù)問(wèn)題時(shí)所實(shí)現(xiàn)的業(yè)務(wù)規(guī)則或工作流代碼的名稱
第5章是關(guān)于構(gòu)建使用EF Core的ASP.Net Core應(yīng)用程序,它匯總了第2章到第4章的內(nèi)容創(chuàng)建了一個(gè)Web應(yīng)用程序,我還談到了部署Web應(yīng)用程序和訪問(wèn)托管數(shù)據(jù)庫(kù)
Part 2 : 深入理解Entity Framework core
第6章介紹了配置非關(guān)系屬性 -- 包含值(如int、string、DateTime等)的屬性
第7章介紹了關(guān)系的配置-- 類之間的關(guān)系, 例如Book包含一個(gè)或多個(gè)Author. 還講解了特殊的映射方式,例如將多個(gè)類映射到一個(gè)表
第8章介紹了高級(jí)映射功能以及檢測(cè)和處理并發(fā)沖突
第9章深入討論EF Core的DbContext的工作原理,并逐一介紹應(yīng)用程序的DbContext中各個(gè)方法和屬性的作用
Part 3 : 在真實(shí)的應(yīng)用程序中使用Entity Framework Core
第10章是工具,模式和技巧的概要,可以讓你使用EF Core更快速的開發(fā)和使代碼更加健壯,我還介紹了如何在領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)方法中使用EF Core
第11章介紹了使用EF Core時(shí)更改數(shù)據(jù)庫(kù)結(jié)構(gòu)的所有方式,它還包括當(dāng)你更改實(shí)時(shí)應(yīng)用程序所使用的數(shù)據(jù)庫(kù)結(jié)構(gòu)時(shí)出現(xiàn)的問(wèn)題
第12章列出了所有可能影響數(shù)據(jù)庫(kù)訪問(wèn)性能的問(wèn)題以及如何處理它們
第13章是一個(gè)優(yōu)化EF Core應(yīng)用程序性能的示例,我使用第1部分中開發(fā)的圖書應(yīng)用程序進(jìn)行三個(gè)級(jí)別的性能調(diào)優(yōu)
第14章從介紹更改數(shù)據(jù)庫(kù)類型時(shí)會(huì)發(fā)生什么開始,然后介紹一種可以提升某些業(yè)務(wù)應(yīng)用程序性能的程序架構(gòu),最后以訪問(wèn)和修改EF Core的內(nèi)部服務(wù)結(jié)束
第15章是關(guān)于使用EF Core進(jìn)行單元測(cè)試的應(yīng)用程序,我還創(chuàng)建了一個(gè)nuget包,你可以使用它幫助你進(jìn)行單元測(cè)試
注: 我在書的章節(jié)中都添加了有關(guān)EF Core2.1特性的注釋,這些指出了2.1版在哪些方面相比較EF 2.0有了新選擇
關(guān)于代碼
我覺(jué)得,只有編寫代碼才會(huì)真正的對(duì)某些功能或特性有深入的理解. 在git倉(cāng)庫(kù)中每章甚至章的部分都有一個(gè)自己的分支, 倉(cāng)庫(kù)地址可以在這里找到?https://github.com/liangshiw/EfCoreInAction?(原地址:?https://github.com/JonPSmith/EfCoreInAction). 有關(guān)更多信息,請(qǐng)參見(jiàn)git倉(cāng)庫(kù)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章內(nèi)容是關(guān)于單元測(cè)試的,它有自己的git倉(cāng)庫(kù)?https://github.com/liangshiw/EfCore.TestSupport?(原地址:?https://github.com/JonPSmith/EfCore.TestSupport)
我之所以將它與前14章分開是因?yàn)樗墓ぞ吆凸δ芸梢詭椭氵M(jìn)行單元測(cè)試,你還可以將?EfCore.TestSupport?包安裝到你的項(xiàng)目中,使用我在15章中描述的功能
編寫代碼或運(yùn)行g(shù)it倉(cāng)庫(kù)中的代碼,你需要以下內(nèi)容
開發(fā)環(huán)境?(我對(duì)原文進(jìn)行了簡(jiǎn)化)
Visual Studio 2017
也可以使用Visual Studio Code,我在每個(gè)分支中設(shè)置了.vscode目錄,可以正確的構(gòu)建,測(cè)試和運(yùn)行代碼
.Net Core SDK
注: git倉(cāng)庫(kù)太多使用的是.Net Core 2.0,但是我將一些分支更新到了.Net Core 2.1,參見(jiàn)?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社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的[翻译] Entity Framework Core in Action 关于这本书的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ASP.NET Core 2.2 : 扒
- 下一篇: 《小团队构建大网站:中小研发团队架构实践