I am just getting into DDD, CQRS and Event Sourcing and am having trouble with the concept of related aggregates and how much data can be shared between the two when publishing events that involve both. My issue... I have a customer aggregate that has a collection of address aggregates and an event that is published when an address is added to the customer. Both address and customer aggregates maintain relationships with phone numbers/sales people and contacts.
My understanding is I can only reference an aggregate from another aggregate by id. Am I allowed to pass more data about the address than just the address aggregate id to the customer when the address is added as long as I only reference the address id from the customer aggregate?
I think that I need extra data so when I publish the event I can eventually persist that data/relationship to the read side into a customer addresses table.