1. 程式人生 > >深入理解 ORM框架

深入理解 ORM框架

如果 object 移植 相關 XML 關系模型 技術 基於 也會

1、ORM是什麽?

object Relational mapping 對象關系映射,是一種為了解決面向對象與關系型數據庫存在不匹配現象的技術,簡單說,orm通過描述對象和數據庫之間映射的元數據,將程序中的對象自動持久化到關系型數據庫中

orm方法論的三個原則:
簡單:以最基本的形式建模數據
傳達性:數據庫接口被任何人都能理解的語言文檔化
精確性:基於數據庫模型創建正確的標準化結構

為什麽使用ORM:
當你開發一個程序的時候,不使用orm,可能會學不少數據訪問層的代碼,用來從數據庫保存、刪除、讀取對象的信息,但是其中很多代碼是重復的,可以減少代碼量

ORM解決的主要問題是對象關系映射,域模型和關系模型分別建立在概念模型的基礎上,域模型是面向對象的,而關系模型是面向關系的,一般情況下,一個持久類和一個表的對應,類的每個實例對應表中的一條記錄,類的每個屬性對應表的每個字段

ORM技術特點:
1、提高了開發效率,由於ORM可以自動對Entity對象與數據庫表中進行字段和屬性的映射,所以我們就不需要了數據訪問層
2、ORM提供了對數據庫的映射,不用寫sql語句就可以操作數據庫


ORM優缺點
優點:
提高開發效率,降低開發成本
純粹的面向對象開發
可移植

缺點
1、從系統結構上來看,采用ORM框架一般分多層,系統的層次多了,會降低系統性能,ORM是完全面向對象的做法,而面向對象的做法也會性能產生影響
2、在數據庫應用上可能被誤用,主要體現在對持久對象的提取和數據加工處理上,如果用上ORM,可能將全部的數據提取到內存對象中,這就會產生性能問題
3、在做對象持久化時,ORM會持久化所有的對象,我們不希望這樣,也會降低程序性能
4、在進行多級聯表查詢時,ORM語法會變得復雜
5、EF對各個數據的支持程度是不對稱的

什麽是持久化為什麽要持久化
持久,即把內存中的對象永久保存到設備存儲中,持久化的主要應用是講內存中的數據存儲在關系型數據庫中,也可存儲到磁盤文件和XML中

持久層:將數據使用者和數據實體相關聯

orm操作數據庫流程圖:

技術分享圖片

深入理解 ORM框架