我正在使用具有事件源的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進行提升,該怎麼辦?爲什麼我們仍然不需要爲原始實體單獨提出以前發生的每個事件? –