Je vierkant zet hier een rond gat vast.
Uw antwoord KAN zo eenvoudig zijn als Contact.Phones.OrderBy ( @p => @p.SortOrder ) en vervolgens voor al uw telefoons zorgen in een Contact.SetPhone (telefoon, bestelling) methode die elke gewenste aangepaste logica kan omvatten.
Ook omdat dit zakelijk en logisch is, zou uw persistentiewinkel niet op de hoogte moeten zijn van wat er gaande is.