Não há diferença quando você define um valor de string. Métodos encapsulados são necessários quando você trabalha com tipos complexos:classes, listas, etc (que não é
BsonValue
). Eles apenas convertem corretamente os objetos para o tipo BsonValue. Pequeno exemplo:
Com Set você não pode fazer o seguinte:
var item = new MyDemo();
Update.Set("Item", item)
Você tem que usar o método Wrapped ou a extensão ToBsonDocument():
var item = new MyDemo();
Update.SetWrapped("Item", item)
É isso!
Uma nota, o driver e a maioria das peças em torno do mongodb são de código aberto. Portanto, não é grande coisa veja :)