При многих обстоятельствах вы можете просто пропатчить промежуточный объект, в котором есть только поля, в которые пользователь может писать. После этого вы можете довольно легко сопоставить промежуточный объект с вашей сущностью, используя некоторый объектный преобразователь или просто вручную.
Недостатком этого является то, что если у вас есть требование, что поля должны быть явно обнуляемыми, вы не будете знать, установит ли объект патча поле в значение NULL явно или оно никогда не присутствовало в патче.