Entityframework Core in action是 Jon P smith
所著的關於Entityframework Core 書籍。原版地址. 是除了官方文檔外另外一個學習EF Core的不錯途徑, 書中由淺入深的講解的EF Core的相關知識。由於沒有中文版,因此本人對其進行翻譯。 預計每兩天一篇更新 PS: 翻譯不免限於本人水平有不許確的地方,建議英文水平不錯的同窗直接查看原版,有不足的地方歡迎指正html
建立了.Net Core控制應用程序事後,如今能夠編寫EF Core代碼了. 在編寫數據庫訪問代碼以前,你須要作兩個重要的部分
- EF Core將類映射到數據庫中的表
- 應用程序的DbContext,它是用於配置和訪問數據庫的主類數據庫
EF Core將類映射爲數據庫中的表. 所以你須要建立一個實體類,或者你已有一個數據庫則須要匹配數據庫表. 有不少的規則和配置(本書後面會介紹), 圖1.4給出了映射到數據庫表的實體類的通常格式app
下面是Author
實體類的定義,它的結構與Book類相同,主鍵遵循EF Core命名約定(參見第6.3.15節). Book類有一個名爲AuthorId的屬性,EF Core將它視爲外鍵,由於它與Author實體的主鍵同名單元測試
public class Author { public int AuthorId { get; set; } public string Name { get; set; } public string WebUrl { get; set; } }
另外一個重要的部分是應用程序的DBContext. 這是繼承自EF Core的DbContext的類. 它包含EF Core配置數據庫所需的信息,也是在代碼中訪問數據庫時使用的類(參見 1.9.2節). 圖1.5展現了MyFirstEfCoreApp控制檯應用使用的DbContext (名爲AppDbContext)學習
在咱們的小型示例中,建模的全部細節都是由EF Core完成的,它經過使用約定來解決問題. 你有不少其餘方法告訴EF Core數據庫模型的配置,這些命令會讓這個小示例變的複雜,因此暫時不作介紹. 在第6章和第7章中介紹了全部的配置選擇測試
本示例中使用了一種方法定義控制檯應用程序的DbContext: 覆蓋應用程序的DbContext的OnConfiguring方法,提供EF Core須要的數據庫類型和鏈接字符串等其餘信息. 這種方法的缺點是它的鏈接字符串是固定的,不利於單元測試翻譯
在ASP.NET Core應用程序中這是一個問題, 由於在不一樣的環境: 開發,測試,生產咱們會使用不一樣的數據庫. 在第2章中咱們將構建一個ASP.NET Core Web應用程序,將會使用一個不一樣的方式來更改數據庫鏈接字符串(參見2.2.2節)3d