2012-11-04 196 views
2

我開始一個新項目,並且對使用實體框架感興趣。但是,由於這是一個新項目,目前還沒有現有的模型或數據庫,所以我可以在這種情況下使用數據庫優先或模型優先。實體框架,數據庫優先還是模型優先?

當像這樣的空白頁面開始時,是否建議使用model-first並讓EF自己確定數據庫設計或自己設計數據庫?我很樂於設計規範化的數據庫,所以我不擔心這方面的問題,但我不確定是否通過讓EF處理所有的數據庫設計來保證可維護性和性能方面的好處。

在此先感謝你們!

+0

如果你** **是確實舒服設計規範化的數據庫模型 - 我可能會走那條路:設計數據庫,創建它,然後做一個數據庫優先的方法。這爲您提供了對數據庫的更多控制和更多的靈活性 - 這可能是您迄今爲止所做的並習慣於的內容。我在模型優先中看不到任何性能和/或維護效益 –

回答

3

在一個綠色領域項目中,我的選擇將是代碼第一,或者可能是第一個模型。隨着時間的推移,您的項目只能處理代碼並讓EF爲您管理數據庫架構更改。使用其他方法可能導致焦點從核心活動轉移到模型維護。在我工作的一個項目上,管理層強制我們使用由專門模式開發人員創建的數據庫,他們只知道如何使用SQL Server Management Studio。因此數據庫中的每一個變化都意味着我們必須重新生成代碼這最終導致我們花費2天時間來開發用於自動導入數據庫模式和生成對象模型的工具(這是EF 3.5天內)。

我會離開數據庫的第一個方法爲棕色領域和維護項目。

0

那麼,作爲一名開發人員,我熟悉任何構建數據庫的舊方法,我發現代碼首先讓我專注於自己的任務。你的旅費可能會改變。

我已經使用了很多次,並且能夠毫無困難地使用代碼優先方式維護我的數據庫。

相關問題