У меня есть аналогичная потребность. Решение, которое я рассматриваю, состоит в том, чтобы реализовать свойства оболочки для всех сущностей, которые хранят любые изменения свойств в частном порядке, не влияя на фактическое свойство сущности. Затем я добавил бы к объекту метод SaveChanges (), который записал бы изменения в объект, а затем вызвал бы SaveChanges () для контекста.
Проблема с этим подходом заключается в том, что вам нужно заставить все ваши сущности соответствовать этому шаблону. Но, похоже, работает довольно хорошо. У него есть еще один недостаток в том, что если вы вносите много изменений во множество объектов с большим количеством данных, вы получаете в результате посторонние копии в памяти.
Единственное другое решение, которое я могу придумать, - после сохранения изменений сохранить состояния всех измененных / добавленных / удаленных сущностей, установить их неизмененными, кроме той, которую вы меняете, сохранить изменения и затем восстановить состояния других субъектов. Но это звучит потенциально медленно.