【发布时间】:2015-09-09 12:30:56
【问题描述】:
我正在使用带有事件溯源的 CQRS。我有一个实体,例如带有 entityId 的表单。现在我必须在这个实体上发送复制命令(CommandName:CopyForm,EventName:FormCopied)所以,应该复制整个表单并具有不同的entityId。
因此,为了实现这一点,我使用 CopyForm 命令发送表单的 entityId,该命令需要被复制。整个表单是从事件存储加载的,在引发事件时,我将事件引发为 FormAdded 而不是 FormCopied ,它将添加与我们从 eventStore 加载的源表单完全相同的新表单,并且只是设置新的 entityId 。但是这里的问题是为我正在复制的相同表单而不是复制表单引发事件。我的框架不允许更改 entityId。框架默认设置我为源表单提出的命令的 entityId,并且为具有相同 entityId 的源表单引发事件。
有没有更好的方法在 CQRS 中使用 Event-Sourcing 为实体执行复制功能?
【问题讨论】:
标签: c# cqrs event-sourcing