Sim você tem que enviar o objeto completo, elas é bem util pos no statement de update só será passado os campos que houveram alteração nos dando uma melhor performance e segurança:
Imagine que alteramos apenas a idade do exemplo anterior que eu lhe dei:
Com @DynamicUpdate
update pessoa set idade = ? where id = ?
`
Sem @DynamicUpdate
update pessoa set id = ?, nome = ?, idade = ? where id = ?
Veja que com @DynamicUpdate garantimos que somente aquele campo alterado será modificado e devido ao falto de passarmos menos campos a execução do mesmo se torna mais rápida, no nosso caso temos apenas 3 campos mas imagine uma tabela com 50 ou 100 campos ? Fazer o update de apenas 1 ou 2 é muito mais rápido e seguro do que atualizar todos os 50 ou 100.
Espero ter ajudado.