加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 域驱动设计:如何访问聚合根的子节点

发布时间:2020-12-14 01:02:34 所属栏目:百科 来源:网络整理
导读:如果我有一个Order类作为聚合根和1000个行项目。 如何加载1000个订单项之一?据我所知,订单项只能通过Order类访问并具有“本地”身份。我仍然会在OrderRepository上创建一个存储库方法,如“GetLineItemById”? 编辑评论答案: 目前我不认为有一个不变的孩
如果我有一个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";

我觉得我误解了整个概念..

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读