我知道CommitId
是由Jonathan Oliver的事件存储内部使用的。到目前为止,我一直为CommitId
提供Guid.NewGuid()
。
你什么时候想做点不一样的事?
我不明白为什么它暴露在他的公共域存储库中。
有人能解释一下吗?
一般来说,CommonDomain并没有试图强行建立一个一刀切的固执己见的结构。
利用它的一种方法是让编写器使用其唯一的传入命令Id作为CommitId——这意味着竞争(或重试与尚未超时的运行竞争)将被一个特定的异常拒绝,而不需要进入/考虑/管理冲突解决逻辑。这是用来实现幂等命令的关键原则。