2010-05-06 100 views
1

當我們使用Entity Framework 4作爲ORM層時,試圖圍繞建模數據庫時的最佳方法進行討論。我們將爲應用程序使用asp.net mvc 2。如何使用實體框架4建模我的數據庫?

是否值得使用Visual Studio 2010附帶的類圖建模器進行建模?在此模型中,您將模型圖形化配置到EDMX文件中,然後生成數據庫結構?

我遇到了一堆不平凡的問題,對於複雜的多對多映射或多主鍵實體,即使用一些工具捅了一段時間後,答案也不是那麼明顯。

在這一點上,我認爲它很容易放棄並開始使用真實的,有效的數據庫建模工具建模數據庫,然後嘗試從數據庫中生成EDMX,而不是嘗試執行模型優先方法。

+0

你能舉幾個例子,說明在EF4中沒有什麼適合你的嗎?如果你首先進行模型優化,一般情況下,你會得到一個更好的對象模型,並且數據庫將最好地與它對齊,而不是它自己的數據存儲。這具有優點和缺點。但是,如果數據庫僅由您的應用程序使用,則無需手動映射類通常會帶來更大的好處。 – 2010-05-06 06:13:02

+0

數據庫是全新的,僅供此應用程序使用。例如,一個3個實體之間的鏈接表,結束時主鍵是來自3個實體中的每一個的PK的組合。 – Andreas 2010-05-06 06:31:49

回答

1

這確實是一個偏好問題。如果你對SQL服務器很適應,那可能是最好的開始。但是如果你更多的是C#程序員,那麼從EDMX設計師開始,製作模型然後讓它弄清楚數據庫應該是什麼樣子會更容易。

當然,如果你確實先去模型,你仍然需要進入SSMS並添加索引,並且可能會根據自己的喜好重新命名一些FK和表格。然後,您可以使用「從模型更新」將模型恢復到最新狀態。

建模繼承也是設計師需要做的事情,但是您也可以在SSMS或EDMX設計器中進行建模。對於繼承我首先更喜歡SQL,因爲對於每個層次結構,每個類或每個具體類型,您希望採用何種形式的繼承是明確的決定。