Я прорабатываю базовый пример работы с NEventStore с RavenDB и наткнулся на камень преткновения.
Мне удалось успешно зафиксировать свои события в источнике данных RavenDB, но теперь мне нужно вытащить их обратно, чтобы воспроизвести их шаблон (CQRS - ES).
Я могу вернуть коллекцию объектов EventMesssage, используя NEventStore IStoreEvents Unterface следующим образом:
public IEnumerable<EventMessage> GetEvents(Guid aggregateRootId)
{
using (var stream = _store.OpenStream(aggregateRootId, 0))
{
return stream.CommittedEvents;
}
}
В каждом EventMessage я могу получить доступ к свойствам заголовка и тела. В свойстве body находится фактическое событие, которое я отправил, которое я хочу вытащить и проверить.
Я не уверен, правильно ли то, чего я пытаюсь достичь.
Должен ли я использовать класс Raven IDocumentStore для извлечения объектов событий или это должно быть сделано через NEventstore Stream.