从聚合存储库获取聚合而不知道他的ID但知道其他独特属性有多简单?例如,我有Cart
,ID为AggregateId,ownerId
为其他属性。
答案 0 :(得分:2)
在CQRS中(假设您有这样的系统),在对聚合根进行交易时,您需要聚合的状态来做出决定以保留不变量。
在读取方面,典型的模式是根据需要对数据进行项目/非规范化/索引,以便于在需要时进行查询。
通常,您将根据OwnerId
对每个事件和索引进行投影跟踪,以便于查询。如果这只是为了查找以运行某个决策处理命令,那么就像OwnerId
到拥有CartIds
的地图一样简单。
你没有提供太多的背景;这取决于您是否正在尝试建立订单历史记录系统或运输等。如果您解释更多关于您要实现的整体效果的话,您很可能会对任何后续问题得到一个很好的答案