如何定义一对多关系

问题描述 投票:0回答:1

我有两个具有一对多关系的聚合BlogPostBlog与多个Post相关)。根据域驱动的设计最佳实践,我不确定Blog是否应保存Post参考的集合:

public class Blog : Entity<BlogId>, IAggregateRoot
{
    IEnumerable<Post> posts;
}

Post也具有通过BlogId的间接ID引用时:

public class Post : Entity<PostId>, IAggregateRoot
{
    BlogId BlogId;
}

如果需要更多上下文来回答这个问题,请告诉我。

c# domain-driven-design aggregate
1个回答
0
投票

DDD不会告诉您如何实现您的应用程序,而只是给您提供指导。如果您无法执行其他操作,则绝对可以将“帖子”列表保存到“博客”类中并进行逻辑反向引用,但是最重要的要了解的是“博客用户”将如何对帖子进行操作。

因此,请随意以您最喜欢的方式来实现域模型,但是添加帖子,删除帖子等的唯一方法是通过发送到“ blog”实体的命令,因此,将由博客本身授予您的帖子根据您的实现正确连接了]

© www.soinside.com 2019 - 2024. All rights reserved.