public override string CreateUpdate(ChangedObject obj) { ClassWrapper currentClassWrapper = wrappingHandler.GetClassWrapper(obj.RuntimeObject.GetType()); string result = "UPDATE "; result += currentClassWrapper.Name; result += " SET "; string delimiter = ""; foreach (var elm in obj.GetChangedFields()) { PropertyWrapper currentFieldWrapper = currentClassWrapper.GetFieldWrapper(elm.Key); result += delimiter + currentFieldWrapper.Name; result += " = "; // result += normalizeValueForInsertStatement(currentFieldWrapper.getOriginalField().getType(), elm.getValue()); result += fieldTypeParser.NormalizeValueForInsertStatement(elm.Value); if (delimiter == "") { delimiter = " , "; } } result += " WHERE "; result += currentClassWrapper.GetPrimaryKeyMember().Name + " = "; result += "'" + obj.RuntimeObject.ID + "'"; return(result); }
public override void Update(ChangedObject obj) { var command = _connection.CreateCommand(); command.CommandText = statementBuilder.CreateUpdate(obj); command.ExecuteNonQuery(); }
public abstract void Update(ChangedObject obj);