Using Eventstream on the Write side (for building aggregate)?

I came across Eventstore library pretty recently and I am
trying to evaluate it for possible use in one of my projects.

From the blogs and documentation I read, my understanding is
that a stream should be created with the convention of -.

This gives a stream for every aggregate instance. And projections can be created
on as needed basis, which can also be used to generate the model on the read

However, on the write side, in order to build the state of
the event-sourced aggregate,

one would be required to read the stream from the
beginning for that aggregate instance using the method “ReadStreamEventsForward” on connection.

In documentation for the usage of the same method, following
lines are mentioned.

I am referring to following page
Under the heading -“Example: Reading an entire stream forwards from start to

It is unlikely that client code would need to actually
build a list in this manner. It is far more likely that events would be passed
into a left fold in order to derive the state of some object as of a given

I wanted to make sure that using the eventstream to load the
aggregate on the write side would require to build the list of events and it is
not an “unlikely” scenario as mentioned in the documentation.

Or if there is
some correction in my understanding of the architecture.

Also, I would like to find out if doing such reads needs to
be avoided for some reason from experience of using the library and if there
are alternatives to be used.



I think you’ve misunderstood that comment. Specifically, it says the scenario where an aggregate is built by running a function on each event in the stream is the most likely one. The unlikely scenario would be just building an array of events.