I'm going to put an answer on this just because no one else has! (I know I'm a little late to this party!)
I've pondered over this exact thing many times and tried different conventions over the years. The one thing I picked up on is that you are using a naming convention...
If your naming convention is to suffix your UI model classes with 'ViewModel' then the child models should have the same suffix otherwise you're breaking your own convention!
Also lets say you have an Address table (or whatever you have) and a Customer can have an address and a Company has an address and they both use the same table, then you may use the same child model for both parent models. It seems right to have an AddressViewModel
. One day you might have a View/PartialView
and it's model is IEnumerable<AddressViewModel>
I know there's no real right answer to this, but this is my answer :-)