虽然我已经处理域驱动设计(DDD)很长一段时间了,我对实体框架( EF )还比较陌生,在Visual中使用实体框架设计器时我想到的一个问题是如何在EF中表示/建模Aggregates。遵循DDD最佳实践,实体只应引用同一聚合中的其他实体(或值对象),而对其他实体的引用仅限于Aggregates的根实体(聚合根)。然而,我在EF中没有看到任何这些概念(也就是说,所有实体都是相同的,因此对实体之间的引用不施加任何限制)。
因此,
我在理解如何在DDD中分离聚合时遇到了一个问题。至少,我有一个利益冲突,我不知道如何解决。据我所知,在DDD中,聚合被定义为强制不变量/一致性的事务边界。外部履行服务发送商品并创建一个或多个ShipmentS表示给定的履行订单。每个发货包括已发货的行项目、出发国家(此外部服务的仓库所在的国家)和目的地国家(===发货地址国家)。正如您所看到的,有一系列定义良好的步骤,但也有一些纠结……步骤依赖于前面步骤和不同实体中的数据。最重要的是: Ord