2011-01-26 85 views
12

我是新來的實體模型的東西,我正在尋找建議如何組織我的實體模型。使用多個edmx文件與一個大的edmx文件?

我應該創建一個實體模型文件(的.edmx)將包含在我的數據庫中的所有表或者我應該打破它的邏輯文件的用戶,訂單,產品等

請讓我知道是哪一個是更好的,每個備選方案的優缺點(如果有的話)。

謝謝。

+3

您的模型應該是關於實體的,而不是關於表格的。 – 2011-01-26 03:35:58

回答

8

擁有一個包含所有實體的大型EDM通常不是一種好的做法,因此不推薦使用。你應該想出不同的域模型集合,每個模型都包含相關的對象,而每個集合都與另一個不相關和不相關。

看看這個帖子,我詳細解釋這個問題:
Does it make sense to create a single diagram for all entities?

2

我認爲我們應該保持多EDMX文件在我們的項目。它就像1-edmx文件 - 一個聚合(相關對象的集合)。根據ddd(域驅動設計),我們可以在我們的模型中有多個聚合。我們可以爲每個聚合保留一個edmx文件

15

我要在這裏反對穀物。我現在用EF構建了兩個大型應用程序,一個使用單個edmx,一個使用幾個。有優點和缺點,但通常我發現一個edmx的生活會更容易。原因在於,即使從一開始看起來,應用程序中的域幾乎都沒有真正的分離。彈出新的要求,要求您將不同edmx中的實體關聯起來,然後您必須重構並不斷移動。

EF 5 introduces Multiple Diagram s時,所有的分割參數很快就會被廢棄,這是首先分割edmx文件的唯一真正益處。你不想看到你沒有工作的所有東西,而且你也不想影響性能。

在我的分割edmx的應用程序中,我們現在有一些重複的實體來獲得導航屬性的好處。也許你的應用程序有一個真正的域分離,但通常都連接到用戶。我正在考慮合併現在的兩個,但這將是很多工作。所以我會說他們在一起,直到它成爲一個問題。