[翻譯] EF Core 概述

Entity Framework Core in Action

Entityframework Core in action是 Jon P smith 所著的關於Entityframework Core 書籍。原版地址. 是除了官方文檔外另外一個學習EF Core的不錯途徑, 書中由淺入深的講解的EF Core的相關知識。由於沒有中文版,因此本人對其進行翻譯。 預計每兩天一篇更新 PS: 翻譯不免限於本人水平有不許確的地方,建議英文水平不錯的同窗直接查看原版,有不足的地方歡迎指正html

第一部分目錄導航

EF Core 概述

EF Core能夠用做O/RM, 它在關係型數據庫和包含類與軟件代碼的.NET軟件之間進行映射. 表1.1展現了EF Core如何映射關係型數據庫和.NET軟件數據庫

O/RM的缺陷

編寫一個優秀的O/RM很複雜的,儘管EF6.x或EF Core很容易使用,但有時EF Core的"魔法"會讓你大吃一驚(surprise -.-),在咱們深刻了解EF Core的工做原理以前,我須要先提一下兩個須要注意的問題服務器

第一個問題是對象關係抗阻不匹配. 數據庫服務器和麪向對象的軟件使用了不一樣的規則: 數據庫使用主鍵來定義行是惟一的,而.Net類實例的引用在默認狀況下被認爲是惟一的. EF Core會爲你處理大部份內容,可是你的.Net類會被這些鍵(主鍵)"污染",它們的值很重要.雖然大多數狀況下EF Core均可以很好的處理,但有時你不得不作一些與純軟件解決方案不一樣的處理方式.你會在第2章看到一個多對多關係的例子:在C#中很容易,但在數據庫中須要多作一些處理併發

第二個問題是O/RM(尤爲是EF Core這樣全面的O/RM)將數據庫隱藏的深,以致於你有時會忘記數據庫中會發生什麼,這可能會致使你編寫的代碼在測試應用中沒有什麼問題,可是來到了實際的生產環境,當數據庫很複雜而且有不少併發用戶時,執行的效率會很低下性能

這就是爲何我會花時間在本章中展現EF Core的工做原理以及它生成的SQL. 對EF Core瞭解的更多,就越可以編寫更好的EF Core代碼,更重要的是當出現問題時知道怎麼分析學習

注: 在本書中,我使用 "讓EF Core正常工做,但若是我須要,會讓它的性能變的更快"的方法來使用EF Core.EF Core讓咱們快速開發,但因爲EF Core的缺陷或我對它的不良使用致使了數據庫訪問代碼的性能不足以知足特定業務需求. 第5章介紹瞭如何隔離EF Core在最小的代價下對其優化,第13章介紹瞭如何查找和改進性能低下的數據庫訪問代碼測試

相關文章
相關標籤/搜索