歡迎光臨
每天分享高質量文章

[翻譯] 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

赞(0)

分享創造快樂