0
在DDD中,在具有Address Object值的Person的聚合根中,將該地址映射到數據庫表很簡單:只需將Address對象的屬性嵌入到記錄中。但是,如果人員擁有一個清單,那麼計數可能會有所不同?我們是否創建一個單獨的表來存儲我們所有的地址(從而在每個地址上加上一些準標識),並將每行都帶有一個FK返回給它所屬的Person?如何在集合根中保留N值對象
在DDD中,在具有Address Object值的Person的聚合根中,將該地址映射到數據庫表很簡單:只需將Address對象的屬性嵌入到記錄中。但是,如果人員擁有一個清單,那麼計數可能會有所不同?我們是否創建一個單獨的表來存儲我們所有的地址(從而在每個地址上加上一些準標識),並將每行都帶有一個FK返回給它所屬的Person?如何在集合根中保留N值對象
有一個很好的對象關係阻抗不匹配的例子。你可以做的是有一個超級類型的層,其中持久性問題如id字段存在。因此,從持久層的角度來看,VO是一個實體,但仍然被建模爲域中的VO。
您可以閱讀更多關於上述here。
感謝您的洞察力和鏈接。我知道這是脫離主題,但您認爲NHibernate支持DDD的任務優於Entity Framework嗎? – BCA
@BCA,我從來沒有使用實體框架,但不幸的是,Vaughn Vernon在博客上討論如何有效地使用實體框架https://vaughnvernon.co/?p=879 – plalx