實體框架(Entity Framework)簡介

2021-06-18 17:13:21 字數 3373 閱讀 7379

1、簡稱

ef2、與asp.netmvc關係與

ado.net

關係ado.net

entity framework 是微軟

以ado.net

為基礎所發展出來的物件關係對應()

解決方案,早期被稱為

objectspace

,最新版本是

ef6.0

【codeonly

功能得到了更好的支援

】3、實體框架

entity framework

是ado.net

中的一組支援開發面向資料的軟體應用程式的技術。是微軟的乙個

orm框架。

什麼是廣義上,

orm指的是物件導向的物件模型和關係型資料庫的資料結構之間的相互轉換。

狹義上,

orm可以被認為是,基於關係型資料庫的資料儲存,實現乙個虛擬的物件導向的資料訪問介面。理想情況下,基於這樣乙個物件導向的介面,持久化乙個

oo物件應該不需要要了解任何關係型資料庫儲存資料的實現細節。

追蹤ef

生成的sql

指令碼方法

ef生成指令碼最終由資料庫執行,而截獲

sql指令碼最方便的就是使用

sqlserver

的profile

監測工具,不僅可以進行

sql指令碼的監控而且可以監控指令碼占用的

cpu、指令碼執行時間等

使用方法:

management studio

→工具→

sqlserver

profile 

然後登陸後就可以監控當前的

sqlserver

執行的sql指令碼

利用了抽象化

資料結構

的方式,將每個資料庫物件都轉換成應用程式物件

(entity)

,而資料字段都轉換為屬性

(property)

,關係則轉換為結合屬性

(association)

,讓資料庫的

e/r

模型完全的轉成物件模型,如此讓程式設計師能用最熟悉的程式語言來呼叫訪問。而在抽象化的結構之下,則是高度整合與對應結構的概念層、對應層和儲存層,以及支援

entity framework

的資料提供者

(provider)

,讓資料訪問的工作得以順利與完整的進行。

(1)

概念層:負責向上的物件與屬性顯露與訪問。

(2)

對應層:將上方的概念層和底下的儲存層的資料結構對應在一起。

(3)儲存層:依不同資料庫與資料結構,而顯露出實體的資料結構體,和

provider

一起,負責實際對資料庫的訪問和

sql

的產生

l在ef中的實體資料模型(

edm)由以下三種模型和具有相應副檔名的對映檔案進行定義。

·                

概念架構定義語言檔案

(.csdl

)--

定義概念模型。

·                

儲存架構定義語言檔案

(.ssdl

)--

定義儲存模型

·                

對映規範語言檔案

(.msl

)--

定義儲存模型與概念模型之間的對映m。

l實體框架使用這些基於

xml

的模型和對映檔案將對概念模型中的實體和關係的建立、讀取、更新和刪除操作轉換為資料來源中的等效操作。

edm

甚至支援將概念模型中的實體對映到資料來源中的儲存過程。

ef中運算元據庫的閘道器

lobjectcontext

封裝.net framework

和資料庫之間的連線。此類用作「建立」、「讀取」、「更新」和「刪除」操作的閘道器。

objectcontext

類為主類,用於與作為物件(這些物件為

edm

中定義的實體型別的例項)的資料進行互動。

objectcontext

類的例項封裝以下內容:

a)到資料庫的連線,以

entityconnection

物件的形式封裝。

b)描述該模型的元資料,以

metadataworkspace

物件的形式封裝

c)用於管理快取中持久儲存的物件的

objectstatemanager

物件圖說ef原理:

ef 跨資料庫支援

目前已有數個資料庫廠商或元件開發商宣布要支援

ado.net entity framework:

(1) core lab

,支援oracle

、mysql

、postgresql

與 sqlite

資料庫。

(2) ibm

,實現db2

使用的linq provider。

(3) mysql

,發展mysql server

所用的provider。

(4)

npqsql

,發展postgresql

所用的

provider。

(5)

openlink

software

,發展支援多種資料庫所用的

provider。

(6) phoenix software international

,發展支援

sqlite

資料庫的

provider。

(7) sybase

,將支援

anywhere

資料庫。

(8)

vistadb

software

,將支援

vistadb

資料庫。

(9)

datadirect

technologies

,發展支援多種資料庫所用的

provider。

(10) firebird

,支援firebird

資料庫。

實體框架概述

實體框架是一組技術,在ado.net支援面向資料的軟體應用程式的開發。架構師和開發面向資料的應用需要實現兩個非常不同的目標奮鬥。他們必須建模的實體,關係和邏輯,他們正在解決的業務問題,而且他們還必須與用於儲存和檢索資料的資料引擎。資料可能跨多個儲存系統,每個都有自己的協議,對應用程式 編寫效率和維護...

解剖實體框架 2 實體框架的基本功能

1 與物理儲存互動 原因很簡單,資料不能總在記憶體裡,最終還是要存起來,所以,實體框架的乙個基本功能就是要解決與物理儲存之間的互動問題。這裡的物理儲存主要包括檔案和資料庫系統,以檔案作為實體的物理儲存方式,雖然不是很普遍,但也有用武之地,一些很小的應用系統,表不多,資料之間的關係不是很複雜的情況下,...

解剖實體框架 2 實體框架的基本功能

1 與物理儲存互動 原因很簡單,資料不能總在記憶體裡,最終還是要存起來,所以,實體框架的乙個基本功能就是要解決與物理儲存之間的互動問題。這裡的物理儲存主要包括檔案和資料庫系統,以檔案作為實體的物理儲存方式,雖然不是很普遍,但也有用武之地,一些很小的應用系統,表不多,資料之間的關係不是很複雜的情況下,...