protected virtual UpdateDefinition <T> GetUpdateDefinition(T item) { UpdateDefinition <T> result = null; var elemnts = AttributeHelper.GetBsonElementAttributeList(item); var update = Builders <T> .Update; foreach (var elemnt in elemnts) { if (result == null) { result = update.Set(elemnt.Key, elemnt.Value); } else { result = result.Set(elemnt.Key, elemnt.Value); } } return(result); }