NEventStore RavenDB - 获取提交数据



我正在研究一个与RavenDB一起使用NEventStore的基本示例,我遇到了一个绊脚石。

我已经设法成功地将事件提交到 RavenDB 数据源,但现在我需要将它们拉出,重播它们 (CQRS - ES) 模式。

我可以像这样使用 NEventStore IStoreEvents Unterface 来带回 EventMesssage 对象的集合:-

public IEnumerable<EventMessage> GetEvents(Guid aggregateRootId)
        {
            using (var stream = _store.OpenStream(aggregateRootId, 0))
            {
                return stream.CommittedEvents;
            }
        }

在每个事件消息中,我可以访问标头和正文属性。在 body 属性中是我提交的实际事件,我想拉出并检查它。

不确定我想要实现的目标是否正确。

我应该使用 Raven IDocumentStore 类来检索事件对象,还是应该通过 NEventstore 流来完成。

在基本层面上,您正在执行的操作是正确的:它与快速入门 NEventstore 示例代码中显示的代码相同。如果您在更多的DDD上下文中工作,则可能应该使用嵌入在NEventStore中的CommonDomain库从聚合中发出事件,并从IRepository Interface检索它们。

你可以在网络上找到一些例子。其中之一是我的培训项目:https://github.com/williamverdolini/CQRS-ES-Todos(关于这一点的一些说明)。我没有使用RavenDB,我仍然在学习...但可能有用;-)

相关内容

  • 没有找到相关文章

最新更新