domain-driven-design - CQRS(事件溯源)读取多个聚合
问题描述
我有 2 个聚合,它们具有一对多的关系。例如,我有一个问题列表,我想将其中一些添加到问卷中,其中一些是强制性的,必须添加到所有问卷中,有些则不是,由问卷的创建者选择。
假设我正在使用事件溯源和 CQRS。我创建了问题列表,并且我想将强制性问题添加到问卷中。通常我会做
questionaire.AssignQuestions(questions.Where(q => q.isMandatory).Select(q => q.Id))
相似的东西。但在 CQRS 中,我不应该为此使用查询模型。但是在命令模型中我使用的是事件存储,所以我必须重播所有问题的所有事件,这似乎不合理。
很可能我的模型不够面向事件,但在这一点上我真的没有更好的主意。我应该如何建模?
谢谢
解决方案
您的命令处理程序可以查询读取模型以检索问题 ID 列表以形成问卷。
但在 CQRS 中,我不应该为此使用查询模型。
这只是一个虚假的神话
推荐阅读
- aop - 使用实现受 ByteBuddy 的 onMethodEnter 影响的接口的类时,我看不到检测代码运行
- r - 从两个列表中获取唯一元素
- bing-ads-api - Bing Ads API - 过滤广告投放状态
- r - 计算 R 中两个不同回归之间的差异
- java - 尽可能用最少的代码使所有按钮都发出咔哒声
- node.js - nodejs firebase-admin sdk:如果我只使用VerifyIdToken,我可以删除数据库文件夹吗?
- regex - 如何使用 REGEXEXTRACT 从 Google 表格中用户输入的列表中提取所有电子邮件地址
- python - Python 的表 Web 抓取问题
- javascript - 条件在我关闭模态框的函数中不起作用
- python - 使用生成器为 Keras 模型创建数据集