原文鏈接:http://www.entityframeworktutorial.net/choosing-development-approach-with-entity-framework.aspx 使用EF有三種方式: 先看看資料庫優先模式吧 在資料庫優先的模式中,你使用Visual Studi ...
原文鏈接:http://www.entityframeworktutorial.net/choosing-development-approach-with-entity-framework.aspx
使用EF有三種方式:
- Database--First【資料庫優先】
- Code--First【代碼優先】
- Model--First【模型優先】
先看看資料庫優先模式吧
在資料庫優先的模式中,你使用Visual Studio中集成的實體模型對象嚮導來為已經存在的資料庫,生成上下文類以及實體集,或者執行相關的EF命令。
EF 6全面的支持資料庫優先模式。EF Core中有限制的支持資料庫優先模式。 後面我們在EF DB-First系列中將會具體學習。
接著看看代碼優先模式吧
使用代碼優先模式,你在程式中沒有事先存在的資料庫,在這個模式中,你首先編寫實體(領域類),然後還有上下文類,然後通過藉助這些類,使用資料庫遷移命令,創建資料庫。
遵循領域驅動設計(DDD)原則的開發人員,更願意先編寫他們的領域類,然後生成資料庫,進行開發程式。
在後面的EF 6 Code-First系列和 EF Core系列中我們將詳細學習這個開發模式。
最後一起看看模型優先模式吧
在模型優先模式中,你通過Visual Studio中集成的圖形設計器,來創建實體,實體關係,以及繼承關係,然後生成實體,上下文類,以及資料庫腳本(根據你的可視化實體生成的)。
請註意: EF 6 有限制的支持Model-First方式,而EF Core一點都不支持這種開發方式。所以我們不學Model First了。
瞭解完,上面的開發模式之後,我們開發程式的時候,怎麼選擇開發模式呢?使用下麵的圖形來決定,什麼時候使用什麼開發模式。
就像上面圖形說的,如果程式中以及有了領域類,你就可以選擇Code-First模式,因為你可以根據實體生成資料庫,如果你已經有了資料庫,那麼就可以選擇資料庫優先模式,使用實體對象模型,來創建相應的實體,以及上下文類,如果你沒有資料庫,也沒有領域類,就可以選擇第三種模式,也就是模型優先模式。
好了,EF的基礎系列,第七篇就介紹完了。有不明白的可以留言,謝謝支持。
附錄:
EF 6官方文檔: https://docs.microsoft.com/zh-cn/ef/ef6/
EF Core官方文檔:https://docs.microsoft.com/zh-cn/ef/core/