CQRS(事件源)读取多个聚合

时间:2018-07-20 10:27:07

标签: domain-driven-design cqrs event-sourcing event-driven-design

我有2个集合,它们具有一对多关系。例如,我有一个问题列表,我想将其中一些添加到问卷中,其中一些是强制性的,必须添加到所有问卷中,某些不是,并且问卷的创建者选择了它们。< / p>

假设我正在使用事件源和CQRS。我创建了问题列表,并想将必填问题添加到问卷中。 通常我会这样做

questionaire.AssignQuestions(questions.Where(q => q.isMandatory).Select(q => q.Id))

类似的东西。但是在CQRS中,我不应该为此使用查询模型。但是在命令模型中,我使用的是事件存储,因此我必须重播所有问题的所有事件,这似乎不合理。

我的模型很可能没有足够的面向事件的模型,但是目前我还没有一个更好的主意。我应该如何建模?

谢谢

1 个答案:

答案 0 :(得分:1)

您的命令处理程序可以查询读取模型以检索问题ID列表以构成问卷。

  

但是在CQRS中,我不应该为此使用查询模型。

这只是一个错误的神话