Domanda

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?

È stato utile?

Soluzione

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top