Entity Framework入門教程(2)---EF工做流程

EF工做流程

1.EF基本CRUD流程

下邊的圖就能夠很清晰地展現EF的CRUD操做的基本工做流程:html

這裏作一個EF CRUD操做的簡單總結:
1.定義模型:這是EF工做的前提,定義模型包括定義領域類(Domain Classes),派生自DbContext的上下文類Configuration(若是有的話)。EF將經過模型來執行CRUD操做。
2.添加數據:將領域對象添加到上下文並調用SaveChanges()方法。EF API將構建適當的INSERT命令並將其執行到數據庫。
3.讀取數據:執行LINQ-to-Entities查詢。EF API會將此查詢轉換爲底層關係數據庫的SQL查詢並執行,而後將結果轉換爲實體對象並顯示在UI上。
4.編輯或刪除數據:從上下文更新或刪除實體對象並調用該SaveChanges()方法。EF API將構建適當的UPDATE或DELETE命令並執行。數據庫

2.EF的工做過程簡析

這裏將展現EF工做的基本過程
EF API(EF6和EF Core)包括幾個功能:①將領域類映射到數據庫,②將LINQ查詢轉換爲SQL並執行,③跟蹤實體在其生命週期內發生的更改,並將這些更改保存到數據庫。架構

實體數據模型(Entity Data Model)

EF API的首要任務是構建實體數據模型(EDM)。EDM是整個元數據的內存表示,包含:概念模型,存儲模型以及它們之間的映射post

 

概念模型: EF經過領域類,上下文類,默認約定和配置構建概念模型。htm

存儲模型: EF爲底層數據庫架構構建存儲模型。在代碼優先方法中,根據概念模型進行推斷來構建。在數據庫優先模式中,根據目標數據庫進行推斷來構建。對象

映射: EF包括的映射信息,表示概念模型是如何映射到數據庫架構(存儲模型)。blog

查詢

EF API使用EDM將LINQ-to-Entities查詢轉換爲SQL查詢,並將結果轉換回實體對象。教程

 

保存

EF API在調用SaveChanges()方法時根據實體的狀態推斷INSERT,UPDATE和DELETE命令。ChangeTrack會在執行操做時跟蹤每一個實體的狀態。生命週期

 

EF系列目錄連接:Entity Franmework系列教程彙總內存

相關文章
相關標籤/搜索