[翻譯] EF Core in Action 關於這本書


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源碼和其他有用的資源的鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM