Entity Framework достаточно умен, чтобы выяснить, что изменилось, а что нет, и оптимизировать оператор SQL, соответственно.Если вы измените только FieldToUpdate, то оператор SQL будет обновлением только для одного поля, а не для всего.
Однако, если вы измените Field1 и Field2 по сравнению с тем, чем они были изначально, они также будут сохранены., но ТОЛЬКО если они изменились.В противном случае, нет необходимости указывать БД изменить ее на то, что она уже есть.
Платформа Entity Framework делает это таким образом, потому что это именно то, что разработчик хочет в 99,9% случаев.Если вы собираетесь использовать объект-сущность в качестве объекта, который вы хотите перемещать и манипулировать другими способами, а не рассматривать его как модель базы данных (как это и должно быть), то вы можете рассмотреть возможность создания другого нового класса-оболочкиэто позволяет вам связываться со всеми полями данных, которые вы хотите (и есть другие, которых там нет), а затем использовать метод save, обеспечивающий надлежащее постоянство структуры сущности, чтобы сохранить вещи отдельными и чистыми.