據我所知,所有的DDD實體都應該有一個ID。所以我的問題是在一個主要的詳細關係中,比如一個產品和一個ProductDetail,ProductDetail是否應該具有產品的任何知識?是否需要ProductDetail類中的ProductID屬性?在數據庫中,這當然是正常的,因爲它是鏈接兩個對象的唯一方式,但這是DDD中的最佳實踐嗎?我使用Linq2Sql作爲ORM映射器,所以這是給定的,但我認爲這不是正確的方法。任何人在這方面都有一些智慧的話語?DDD,主詳細關係中的相關實體
1
A
回答
1
外鍵是關係數據模型的工件。對象模型使用容器的概念進行操作。所以,訂單包含訂單行的集合。訂單行包含產品等。
5
最終用戶將如何檢索ProductDetail?如果答案是他們可能會從產品導航到產品,那麼ProductDetail只是Product的一個屬性,或者是產品屬性ProductDetails集合的一部分。
因此,在面向對象的代碼中,ProductDetail對象不需要引用父Product。
現在在您的數據庫中,您可能會有一個帶有Id列的Product的主表。然後,您有一個ProductDetail的子表,它具有與其相關的產品的Id的外鍵。
這是非常重要要記住,域驅動設計原則僅適用於您的OO代碼。關係數據庫和關係數據建模完全不同。
相關問題
- 1. 更新相關實體DDD
- 2. DDD中的實體之間的關係
- 3. KBMMW主詳細信息關係
- 4. 在主細節關係中保留詳細信息EF4 POCO
- 5. 構建休息端點頁眉/詳細實體關係
- 6. 主義實體關係
- 7. 主義一對多關係不取相關實體
- 8. OpenERP 7中的主詳細關係,變量和XML
- 9. 主要細節導航與3個實體的依賴關係
- 10. DDD:如何正確實現與JPA/Hibernate實體的關係?
- 11. Symfony2將XML數據非規範化爲與關係相關的主體實體
- 12. OBIEE主和明細關係
- 13. 劍道實體主詳細建議
- 14. 如何從實體框架的詳細信息部分中檢索主詳細信息關係的主部分中的字段的值
- 15. 實體關係
- 16. 實體關係
- 17. 實體關係
- 18. 實體關係
- 19. 實體關係
- 20. 實體關係
- 21. 有關實體框架+ DDD的問題
- 22. 編程的C#DevExpress主 - 詳細多列關係
- 23. 主從關係的詳細值沒有顯示
- 24. 實體與主義的關係(symfony 2)
- 25. iPhone AppStore iOS 6詳細視圖(詳細信息,評論,相關)
- 26. 關於詳細應用權限的建議體系結構
- 27. 使用FluentNHibernate相同的實體關係
- 28. Doctrine2中的關係實體(實體也是關係的)的複合主鍵或代理主鍵
- 29. Apigee中的實體關係
- 30. POCO實體中的關係
這與域驅動設計有什麼關係? – jlembke 2009-05-07 21:16:26
ProductDetails類中的外鍵ProductId與DDD無關 - 它是關係數據模型的工件。這是我的觀點。 – Prankster 2009-05-08 15:34:46