1. 程式人生 > >三種資料持久化方式介紹(轉載)

三種資料持久化方式介紹(轉載)

通過專案,我們瞭解到EF框架有三種資料持久化的方式,也就是標題中我所提到的三種。那麼這些方式之間又有什麼聯絡和區別呢?

    篇幅原因,本篇部落格不再分別介紹每種方法如何實現的了,大家用的時候可以去Sou~一下。

 

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

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

 

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

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

        Model-First模式優點是開發人員能夠在模型設計完成後,可以利用VS等工具快速生成資料庫指令碼。缺點是設計模型時完全瞭解資料庫的結構,在模型中手動新增表關係,並且生成的指令碼有點不簡潔。  

        Code-First模式優點是效能比較好,且程式碼較少冗餘。不過它的缺點也有很多,由於都是程式碼編寫的,比如更新資料庫。

 

    這三種方式各有利弊,使用過程中我們要按實際需求來選擇。這些工具的出現和使用,大大提高了開發人員的開發速度,使得資料庫、模型等出現了複用、擴充套件的可能,在應對變化方面也做了足夠的工作。這些工具所體現的服務思想更提醒我們要全方位去考慮問題,在產品中做好應對變化的措施。 --------------------- 作者:追著蝸牛打 來源:CSDN 原文:https://blog.csdn.net/u010191243/article/details/44755977?utm_source=copy 版權宣告:本文為博主原創文章,轉載請附上博文連結!