Entity Framework 6.0 入門系列 第一篇

Entity Framework 6.0 入門系列 第一篇sql

好幾年前接觸過一些ef感受不是很好用,廢棄。可是 Entity Framework 6.0是通過幾個版本優化過的產物,性能和功能不斷完善,開始學習。數據庫

 

EF ,全稱Entity FramWork。就是微軟以ADO.NET爲基礎發展的所謂ORM(對象關係映射框架,或者說是數據持久化框架)。框架

簡單的來講就是根據實體對象操做數據表中數據的一種面向對象的操做框架,具體的底層也是調用ADO.NET。工具

EF支持SQL Server,Mysql,Oracle,DB2等數據庫上使用,咱們能夠將數據做爲業務對象和實體來進行處理,開發者能夠使用Linq來操做和查詢數據。性能

最終會生成SQL語句來執行,能夠打開SQL Server Profiler來查看具體生成的每一條SQL語句; 學習

Entity Framework  有三種領域建模方式,Code First,Model First,及Database First;優化

先簡單描述下這三種模式的區別spa

 

1.Database First是基於已存在的數據庫,利用某些工具(如VS提供的EF設計器)建立實體類,數據庫對象與實體類的匹配關係等,你也能夠手動修改這些自動生成的代碼及匹配文件。也就是從一個數據庫開始,而後生成實體框架和相應代碼。咱們咱們又DBA來建立數據庫或者已經有存在的數據庫,這種方式做爲首選;設計


2.Model First 是先利用某些工具(如VS的EF設計器)設計出可視化的實體數據模型及他們之間的關係,而後再根據這些實體、關係去生成數據庫對象及相關代碼文件。對象


3.Code First 這種方式須要先寫一些代碼,如實體對象,數據關係等,而後根據已有的代碼描述,自動建立數據對象。但其實這種方法與Model First是很是相似的。咱們本身寫的代碼,其實就是用代碼表示實體模型,而Model First是用可視化的方式描述了實體模型。這個是最受歡迎的領域建模方式,比較靈活;

 

這三種方式各有利弊,使用過程當中咱們要按實際需求來選擇。這些工具的出現和使用,大大提升了開發人員的開發速度,使得數據庫、模型等出現了複用、擴展的可能,在應對變化方面也作了足夠的工做。這些工具所體現的服務思想更提醒咱們要全方位去考慮問題,在產品中作好應對變化的措施。

相關文章
相關標籤/搜索