title: Update a polymorphic child entity inside an aggregate root
body: <p>I'm trying to figure out what is the best way to update a polymorphic child entity inside an aggregate root.  For reference, let's say I have a <code>ShippingContainer</code> root entity that stores <code>Cargo</code> objects; there are many types of <code>Cargo</code> objects, for example, <code>BigCargo</code>, <code>HazardousCargo</code>, etc., each with their own unique properties.</p>
  
  <p>I was reading this question: <a href="https://stackoverflow.com/questions/7196820/update-an-entity-inside-an-aggregate">Update an entity inside an aggregate</a> </p>
  
  <p>The answer to this question seems to indicate I should place the <code>ChangeCargo</code> method on the <code>ShippingContainer</code> object taking some kind of DTO parameters object.  My question is whether or not this is still best practice when the object you are trying to update is polymorphic (do I now need a hierarchy of DTO objects mirroring the Cargo object types?), or should I be doing something else?</p>