Il tuo quadrato fa un buco rotondo qui.
La tua risposta PUÒ essere facile come Contact.Phones.OrderBy ( @p => @p.SortOrder ) quindi prendersi cura di tutti i tuoi telefoni in un metodo Contact.SetPhone (telefono, ordine) che può comprendere qualsiasi logica personalizzata desideri.
Inoltre, poiché si tratta di affari e di logica di visualizzazione, il tuo negozio di persistenza non dovrebbe essere a conoscenza di cosa sta succedendo.