原文鏈接:http://www.entityframeworktutorial.net/basics/how-entity-framework-works.aspx 這裡,你將會大概瞭解到EF是怎麼工作的。 Entity Framework API(EF 6和EF Core),可以將領域類映射到數據 ...
原文鏈接:http://www.entityframeworktutorial.net/basics/how-entity-framework-works.aspx
這裡,你將會大概瞭解到EF是怎麼工作的。
Entity Framework API(EF 6和EF Core),可以將領域類映射到資料庫中、將LINQ 語句轉化為SQL、在實體整個生命周期內,跟蹤實體的改變,並且保存改變到資料庫中。
實體數據模型(Entity Data Model)
EF API 的首要任務就是構建實體數據模型。實體數據模型是整個元數據的在記憶體中的呈現:概念模型(Conceptual Model)、存儲模型(Storage Model)以及兩者之間的映射。
Conceptual Model(概念模型):EF從領域類中生成概念模型、上下文類、領域類中預設的約定以及其他配置。
Storage Model(存儲模型):EF 根據資料庫生成存儲模型。在Code-First方式中,這個會從概念模型上推斷出來。在DB-First方式中,這個會從目標資料庫中推斷出來。
Mapping(映射):EF包含概念模型怎麼轉化到資料庫(存儲模型)中的映射信息。
EF使用實體數據模型(EDM)來進行增刪查改操作、使用EDM來從LINQ查詢中生成SQL、生成增刪查改的指令,然後把資料庫返回的結果,轉化到實體對象中。
Querying【查詢】
EF API使用EDM將 LINQ-to-Entities的查詢語句轉化為SQL語句,發送資料庫執行,然後同樣將資料庫返回的結果轉化到實體對象中。
Saving【保存】
當SaveChanges方法被調用的時候,EF API基於實體的狀態,推斷是執行增刪查改的哪個操作。只要SavaChanges方法被執行了,變更追蹤特性就會保持追蹤每個實體的狀態。
好了,EF的繼續系列,第三篇就介紹完了。有不明白的可以留言,謝謝支持。
附錄:
EF 6官方文檔: https://docs.microsoft.com/zh-cn/ef/ef6/
EF Core官方文檔:https://docs.microsoft.com/zh-cn/ef/core/