【问题标题】:NEventStore SqlPersistence GetFrom PagingNEventStore SqlPersistence GetFrom 分页
【发布时间】:2020-10-27 17:22:11
【问题描述】:

我在我的 EventSTore 中流式传输所有事件:

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

将分页保持在默认值 128 会将获取的事件数量限制为 2989。当我将分页大小增加到 9000 时,我会按预期获得所有事件(大约有 7K 事件)。

确保我得到所有事件的最佳方式是什么?即重建视图模型时?

顺便说一句,我仍在使用 ES 2.0 谢谢!

【问题讨论】:

    标签: cqrs neventstore


    【解决方案1】:

    EventStore v2.0 中有一个与分页相关的错误导致您看到的行为。 EventStore v3.0 修复了这个错误。另外,我肯定会避免在该调用中使用 .ToArray(),因为如果您有 100K+ 事件,那么您要求的是 OutOfMemoryException。

    一旦您使用 EventStore v3.0,您就可以调用 GetFrom 并遍历事件并对每个事件执行一些操作,例如更新一组数据库表等。

    【讨论】:

    • 谢谢 Jonathon,我会升级版本的。再次感谢您为这个项目所做的工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多