Persisting Value Objects in ES

Just a general question about storing value objects on Event Store.
We have a Value Object called AggregateId, which houses a GUID and has some simple validation.

There are more complicated Value Objects, but at the moment, these Value Objects would be serialised as part of the Event before inserting into the Event Store.

What’s everyone views on either storing the Value Object or extracting the simple type out to store in the Event.

Thanks in advance,


What happens when the internal structure of your value type needs to change? Now you are screwed. ‘Don’t put domain objects on the wire’ doesn’t just apply to entities. Use an intermediate DTO.