使用EventStore提交错误

时间:2013-03-11 15:43:05

标签: cqrs event-store

我在Jonathon Oliver的EventStore中看到以下错误:

错误:23505:重复键值违反了唯一约束" ix_commits_revisions"

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:5)

假设索引是我用Google搜索的那样:

CREATE UNIQUE INDEX IX_Commits_Revisions ON Commits (
     StreamId, StreamRevision, Items);

两个Save已写入等效更改,表示存在乐观并发冲突。

通常,这将由公共域(或类似)层转换为EventStore ConcurrencyException

解决方案是针对流中事件的新负载重新应用命令。

如果要缓存IEventRepository,则不应该对拥有数据库写入权限的所有人都能同等地写入事件流。

我怎么知道这一切? NuGet包中的自述文件非常清楚地解释了这一背后的基础,如果您不阅读并重读它们直到您自己解决这个问题,那么您就是在偷自己/您的雇主了!