Entity Framework 框架
微軟官方提供的ORM技術的實現就是EF(Entity Framework)框架。EF的模式有三種分別是:Database First 資料庫先行 ,Model First 模型先行 , Code First 程式碼先行 , 最後介紹的就是POCO 它的全稱:Plain Old CLR Object,簡單傳統的公共語言執行時物件。
這裡簡單介紹一下 Code First 模式:Code First是指“程式碼優先”或“程式碼先行”。這種方式在上下文設計模式中非常有用。使用Code First模式,可以專注於資料上下文的設計,根據需要,為一個數據上下文的物件建立類集合,而不是首先來設計資料庫,然後來根據資料庫設計實體類,Code-First 模式將會基於編寫的類和配置,自動建立模型和資料庫。
Code First模式的核心是,我們只需要編寫程式碼,來自動建立資料模型和資料庫,模型和資料庫直接通過C#類來定義,而並不使用基於XML的edmx檔案。如果採用Database First模式生成程式碼,需要使用EF設計器輔助工具,而使用Code First可以直接通過使用最簡單的類來定義模型。
三種模式如圖:
ORM的全稱為“物件關係對映”(Object Relational Mapping)。ORM是隨著面向物件的軟體開發方法發展而產生的。用來把物件模型表示的物件對映到基於SQL的關係模型資料庫結構中去。這樣,我們在具體的操作實體物件的時候,就不需要再去和複雜的SQL語句打交道,只需簡單的操作實體物件的屬性和方法。ORM技術是在物件和關係之間搭建了一條橋樑,前臺的物件型資料和資料庫中的關係型的資料通過這個橋樑來相互轉化。
ORM方法論基於的三個核心原則:
1.簡單:以最基本的形式建模資料。
2.傳達性:資料庫結構被任何人都能理解的語言文件化。
3.精確性:基於資料模型建立正確標準化的結構。
ORM技術簡單示意圖
ORM的優點:ORM通過關係資料和物件之間的對映,自動生成SQL語句,將程式員從繁瑣的資料庫操作程式碼中解脫出來,將精力放在對具體業務邏輯上。只需編寫一次程式碼,做較少的修改,就能適應其他型別的資料庫。
由於ORM技術在極大程度上提升了開發效率,因此眾多廠商和開源社群都提供了對ORM的實現。微軟官方提供的ORM技術的實現就是EF(Entity Framework)框架。這套框架是基於ADO.NET的ORM框架。
EF框架的主要特點:支援多種資料來源,支援儲存過程的對映,提供Visual Studio整合工具,執行視覺化操作。
1.這套框架是基於ADO.NET的ORM框架。
2.ORM用來把物件模型表示的物件對映到基於SQL的關係模型資料庫結構中去。
3.ORM技術是在物件和關係之間提供了一條橋樑,前臺的物件型資料和資料庫中的關係型的資料通過這個橋樑來相互轉化。
4.ORM方法論基於三個核心原則。
簡單:以最基本的形式建模資料。
傳達性:資料庫結構被任何人都能理解的語言文件化。
精確性:基於資料模型建立正確標準化的結構。
5.ORM的具體含義是:O對應程式中的實體類;R對應資料庫中的關係表;M表示程式中的物件和資料庫中關係表資料的對映關係。
最後就是EF框架支援“Database First”、“Model First”和“Code First”三種方式來完成資料建模。Database First模式稱為“資料庫優先”或“資料庫先行”模式,即先建立資料庫,後生成資料模型。在這種模式下,要求資料庫已經建立完成並可以正常使用,然後使用Visual Studio中的EF模型設計器,根據已有的資料庫生成資料模型。