1

Jonathon Oliver の EventStore で次のエラーが表示されます。

エラー: 23505: 重複するキー値が一意の制約 "ix_commits_revisions" に違反しています

なぜこれが起こっているのですか?

4

1 に答える 1

5

インデックスが私がグーグルで検索したとおりであると仮定します:

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

2 つSaveの が同等の変更を書き込んでおり、楽観的同時実行違反を表しています。

通常、これは Common Domain (または同様の) レイヤーによって EventStore に変換されますConcurrencyException

解決策は、ストリーム内のイベントの新しい Load に対して Command を再適用することです。

をキャッシュしている場合はIEventRepository、データベースへの書き込みアクセス権を持つ全員が等しくイベント ストリームに書き込むことができるため、そうすべきではありません。

どうすればこれをすべて知ることができますか? NuGet パッケージの Readme ドキュメントは、この背後にある基礎を非常に明確に説明しており、自分で解決できるようになるまで読み直さないと、自分自身や雇用主から盗んでいることになります。

于 2013-03-11T20:56:00.917 に答える