【问题标题】:NEventStore RavenDB - Obtain Commit DataNEventStore RavenDB - 获取提交数据
【发布时间】:2014-11-29 19:49:11
【问题描述】:

我正在研究一个使用 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;
            }

        }

在每个 EventMessage 中,我可以访问 Header 和 Body 属性。在 body 属性中是我提交的实际事件,我想将其拉出并检查。

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

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

【问题讨论】:

    标签: ravendb cqrs event-sourcing neventstore


    【解决方案1】:

    在基本层面上,您所做的是正确的:它与quick-start NEventstore sample code 中显示的代码相同。 如果您在更多 DDD 上下文中工作,您可能应该使用嵌入在 NEventStore 中的 CommonDomain library 从聚合中发出事件,并从 IRepository 接口中检索它们。

    您可以在网络上找到一些示例。 其中之一是我的培训项目:https://github.com/williamverdolini/CQRS-ES-Todos (some notes about that)。我没有使用 RavenDB,我还在学习……但可能有用 ;-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 2012-02-10
      相关资源
      最近更新 更多