Pregunta

I'm looking for the right way of communicating the current version of my Aggregate to the Read Model. Currently the only possibility I see is to do the following:

public class Child : AggregateBase
{
    ...

    public void ChangeName(string firstName, string lastName)
    {
        RaiseEvent(new ChildNameChanged(Id, Version + 1, firstName, lastName));
    }

    ...
}

I don't like it because I think the Aggregate should dispatch the AR version automatically to all the read side event handlers.

Are there other ways I could do this?

¿Fue útil?

Solución

Have a look at this gist from JOliver himself: https://gist.github.com/1311195

Basically what he does is that he attach the version as a header in the dispatched message instead. You don't want to add stuff like that to your events. The events should be kept focusing on the business.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top