Я всегда заворачиваю свои модели в вид моделей.Таким образом, любые изменения, сделанные пользователем, применяются только к моделям представления, а не к базовым моделям, пока пользователь не захочет зафиксировать эти изменения (например, с помощью кнопки «Сохранить»), а если пользователь не захочет зафиксировать изменения, вы можете простовыбросить модель представления и начать с нуля без изменения вашей модели.Это особенно важно при работе с сущностями / объектами базы данных, поскольку изменения, сделанные непосредственно в сущности, могут быть болезненными для отката (по крайней мере, если вы используете Entity Framework)
В некоторых случаях «коммит»неявное и вышеупомянутое не применимо, но я все еще думаю, что хорошей практикой является использование моделей представлений, поскольку это также позволяет вам проводить модульное тестирование вашей бизнес-логики.Основной мотивацией MVVM является ремонтопригодность, и одним из способов достижения этого является наличие хороших модульных тестов.