EF框架的三種工作方式


EF框架step by step(1)—Database-First 

EF框架step by step(2)—Model-First 

EF框架step by step(3)—Code-First 

 

通過項目,我們了解到EF框架有三種數據持久化的方式,也就是標題中我所提到的三種。那么這些方式之間又有什么聯系和區別呢? 

    先分別介紹一下這三種方法的聯系:

    1.Database First是基於已存在的數據庫,利用某些工具(如VS提供的EF設計器)創建實體類,數據庫對象與實體類的匹配關系等,你也可以手動修改這些自動生成的代碼及匹配文件。也就是從一個數據庫開始,然后生成實體框架和相應代碼。
    2.Model First 是先利用某些工具(如VS的EF設計器)設計出可視化的實體數據模型及他們之間的關系,然后再根據這些實體、關系去生成數據庫對象及相關代碼文件。
    3.Code First 這種方式需要先寫一些代碼,如實體對象,數據關系等,然后根據已有的代碼描述,自動創建數據對象。但其實這種方法與Model First是非常類似的。我們自己寫的代碼,其實就是用代碼表示實體模型,而Model First是用可視化的方式描述了實體模型。

 

    下面分析這三種方式的優缺點:

        Database-First模式明顯性能會差點,但是它很適合初學者,或者是比較急的小型項目。還有一點,我們在做項目時可能不容易體會到它的好處,但如果做數據庫結構比較成熟穩定的產品時,我們可以很輕松的使用數據庫生成實體模型,從而實現快速開發。

        Model-First模式優點是開發人員能夠在模型設計完成后,可以利用VS等工具快速生成數據庫腳本。缺點是設計模型時完全了解數據庫的結構,在模型中手動添加表關系,並且生成的腳本有點不簡潔。  

        Code-First模式優點是性能比較好,且代碼較少冗余。不過它的缺點也有很多,由於都是代碼編寫的,比如更新數據庫。

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM