title: Find aggregate root usages across the domain
body: <p>As a matter of fact, <em>Entities</em> and even <em>Value Objects</em> may contain references to <em>Aggregate Roots</em>.
  Additionally as per definition, <em>Aggregate Roots</em> stand on their own, the have intrinsically a <em>Repository</em> where I not at last could delete that <em>Aggregate Root</em>.</p>
  
  <p>As a requirement of my GUI / Workflow, the customer wants to see where a particular Aggregate Root is referenced, not least because he wants / should be able to check whether he can delete that AR "safely".</p>
  
  <p>My current design only has the navigation from the Entity in question <em>towards</em> the other AggregateRoot, so there's, at the moment, no simple way to find the opposite direction.</p>
  
  <p>As this is surely not a single case, I wonder how this is done usually?</p>
  
  <p><strong>Addendum:</strong></p>
  
  <p>Consider the following example; we have an <code>Address</code> as <em>Entity</em>, and a <em>Value Object</em> <code>HomeVisit</code> containing <code>date</code> and <code>Address address</code> (just for the simplicity).
  Until now, there is no modelling need to be able to navigate from <code>Address</code> to <code>HomeVisit</code>, even more since bidirectional associations are discouraged in general.
  But you should see the use case now: For any reason I might need to be able to find out where an <code>Address</code> is currently used prior to delete or even modify it (maybe a service technician is currently on its way to that address and I need to be aware of that).</p>
  
  <p>You can argue that for these cases there must be a <em>Service</em> or similar to find that out, but imagine there's a third party module which brings the <code>HomeVisit</code> <em>VO</em> and makes use of the <code>Address</code> somehow anonymously; at least that's the way I would like it to implement.</p>