public SetColumnValue ( string columnName, object columnValue ) : ISetOrWhere | ||
columnName | string | |
columnValue | object | |
return | ISetOrWhere |
public ISetOrWhere SetColumnValue(string columnName, object columnValue)
{
if (this.Arguments.Count > 0)
{
this.InnerSql.Append(',');
}
this.InnerSql.Append(this.SqlCharacters.EscapeSql(columnName))
.Append(" = ")
.Append(this.SqlCharacters.GetParameterName(this.Arguments.Count));
this.Arguments.Add(new SqlArgument(columnValue));
return this;
}
/// <summary> /// Creates an SqlQuery to perform an update based upon the values in the object delta. /// </summary> /// <param name="objectDelta">The object delta to create the query for.</param> /// <returns> /// The created <see cref="SqlQuery" />. /// </returns> public SqlQuery BuildUpdateSqlQuery(ObjectDelta objectDelta) { if (objectDelta == null) { throw new ArgumentNullException("objectDelta"); } var objectInfo = ObjectInfo.For(objectDelta.ForType); var builder = new UpdateSqlBuilder(this.SqlCharacters) .Table(objectInfo); foreach (var change in objectDelta.Changes) { builder.SetColumnValue(change.Key, change.Value); } var sqlQuery = builder .WhereEquals(objectInfo.TableInfo.IdentifierColumn.ColumnName, objectDelta.Identifier) .ToSqlQuery(); return sqlQuery; }