0

私はこれでEventSToreのすべてのイベントをストリーミングしています:

eventStore.Advanced.GetFrom(DateTime.MinValue).ToArray().SelectMany(its => its.Events).ToArray();

ページングをデフォルトの128に保つと、2989でフェッチされるイベントの数が制限されます。ページングサイズを9000に増やすと、期待どおりにすべてのイベントが取得されます(約7Kのイベントがあります)。

すべてのイベントを確実に取得するための最良の方法は何ですか。つまり、ビューモデルを再構築するときですか?

ところで、私はまだES 2.0を使用していますありがとうございます!

4

1 に答える 1

0

あなたが見ている動作を引き起こしているページングに関連する EventStore v2.0 のバグがあります。EventStore v3.0 では、このバグが修正されています。また、100K 以上のイベントがある場合、OutOfMemoryException を要求しているため、その呼び出しで .ToArray() を絶対に避けます。

EventStore v3.0 を使用すると、GetFrom を呼び出してイベントを反復処理し、一連の DB テーブルの更新など、各イベントで何かを実行できます。

于 2011-11-11T15:59:32.170 に答える