我正在使用具有事件源的CQRS。我有一个实体eg.Form与entityId。现在我必须在这个实体上发送复制命令(CommandName:CopyForm,EventName:FormCopied)因此,整个表单应该被复制并且具有不同的entityId。用事件源在CQRS中使用EntityId复制整个实体
所以,要实现这一点,我发送需要复制CopyForm命令的窗体entityId。整个表单从事件存储中加载,同时引发事件我将事件作为FormAdded提交,而不是FormCopied,它将添加与我们从eventStore加载的源表单完全相同的新表单并仅设置新的entityId。但是这里发布它是为了我复制而不是复制的形式而提出的同样格式的事件。我的框架不允许更改entityId。框架默认情况下,我为源表单和事件引发的entityId是针对具有相同entityId的源表单引发的。
有没有更好的方法在CQRS中使用Event-Sourcing进行实体的复制功能?
如果我们将事件作为FormAdded而不是FormCopied进行提升,该怎么办?为什么我们仍然不需要为原始实体单独提出以前发生的每个事件? –