ter*_*tyl 1 domain-driven-design
据我所知,所有DDD实体都应该有一个ID.所以,如果ProductDetail对产品有任何了解,那么我的问题在于主要的细节关系,例如Product和ProductDetail?它是否与ProductDetail类中的ProductID属性相关?在数据库中,这当然是正常的,因为它是链接两个对象的唯一方法,但这是DDD中的最佳实践吗?我使用Linq2Sql作为ORM映射器,所以这是给定的,但我认为这不是正确的方法.有人对此有一些智慧吗?
最终用户如何检索ProductDetail?如果答案是他们可能会从Product导航到它,那么ProductDetail只是Product的属性,或者是ProductDetails集合的一部分,它是Product的属性.
因此,在面向对象的代码中,ProductDetail对象不需要具有对父Product的引用.
现在,在您的数据库中,您可能拥有带有Id列的Product主表.然后,您有一个ProductDetail的子表,它具有与其相关的产品的Id的外键.
这是非常重要的是要记住,领域驱动设计的原则只适用于你的面向对象代码.关系数据库和关系数据建模完全不同.