これはうまくいくようです:
var updateValues = new List<UpdateBuilder>();
foreach (var element in property.ToBsonDocument().Elements)
{
if (element.Name != "_id")
{
updateValues.Add(Update.Set(element.Name, element.Value));
}
}
collection.Update(Query.EQ("_id", property.id), Update.Combine(updateValues));
より良い解決策があるかどうかわからない場合、これにより.Set()コマンドの連鎖が回避されますが、要素が_id
のように読み取り専用でないかどうかを確認する必要があります。