1

我已經應用了域驅動設計的多邊界上下文原則,並且有3個不同的對象(在3個不同的域上下文中)指向數據庫中的同一個表。正如julie lerman所說,我有一個共享的數據庫模型,它包含了我所有的對象。此共享數據庫模型用於代碼優先遷移。我也有流利的api配置,它們代表共享數據庫模型中的外鍵關係和列約束。問題是,我應該讓我的3個域特定的上下文知道這些流暢的api配置。我想在每個上下文中驗證我的對象圖。我應該只是擔心字符串長度,所需等等在這些單獨的領域上下文?在3個單獨的域上下文中的每一個上配置這些關係是否有必要/好的做法?實體框架Fluent API和MultiBoundedContext

+0

「讓上下文知道」是什麼意思? Fluent映射在DbContext中定義,這反過來可能在概念上與您的域中的有界上下文相匹配。 3個不同的域類=每個有界上下文中的一個=每個3個DbContext中的一個映射。 – guillaume31 2015-04-02 15:03:59

+0

一個例子會更好。讓我試着在這裏給一個。可以說我們有一個客戶,他已經下了一些訂單。假設我們有一個客戶管理域和一個訂單管理域。客戶的屬性是名稱和地址。我在這裏有2個獨立的有界上下文。訂單管理域也有一個客戶對象,但只有Id,Name。訂單管理域不關心客戶的任何其他屬性。現在我有一個通用域名,所以我可以先將代碼移植到數據庫。該通用上下文具有來自所有對象的所有屬性。 – 2015-04-02 15:50:27

+0

如果來自流利的API,我說名稱不能超過100個字符。所以數據庫受限於這些字符,我應該在客戶管理域上下文中重複相同的操作。我將其視爲對客戶對象進行驗證的方式。如果在更小的有界上下文中重複我的「規則」就是這樣,我還應該在更小的域上下文中包含其他流利的api配置(如外鍵等)。 – 2015-04-02 15:54:07

回答

1

是的,你必須在較小的域特定模型中重複流利的api配置。