1

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

错误:23505:重复键值违反唯一约束“ix_commits_revisions”

任何想法为什么会发生这种情况?

4

1 回答 1

5

假设索引是我用谷歌搜索的:

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

两个Saves 写了等效的更改,这代表了乐观并发违规。

通常,这将由 Common Domain(或类似)层转换为 EventStore ConcurrencyException

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

如果要缓存IEventRepository,则不应像对数据库具有写访问权限的每个人都可以平等地写入事件流。

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

于 2013-03-11T20:56:00.917 回答