如果我有一个Order类作为聚合根和1000个行项目。
如何加载1000个订单项之一?据我所知,订单项只能通过Order类访问并具有“本地”身份。我仍然会在OrderRepository上创建一个存储库方法,如“GetLineItemById”?
编辑评论答案:
目前我不认为有一个不变的孩子是合理的。如果我有一个客户课程,有几个地址,合同甚至更多的孩子集合怎么办?一个巨大的实体我想执行CRUD方法。
我会
public class Customer { public IEnumerable<Address> Addresses { get; private set; } public IEnumerable<Contracts> Contracts { get; private set; } ... }
如果用户纠正地址或合同财产的街道,我是否必须这样做?
public class Customer { public void SetStreetOfAddress(Address address,street){} public void SetStreetNumberOfAddress(Address address,streetNumber){} }
那么客户阶层就会充满孩子的操纵方法。所以我宁愿做
addressInstance.Street = "someStreet";
我觉得我误解了整个概念..