/// <summary> /// This method will update the object using the given method, and will also apply these updates to the database row of this object. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> /// <param name="updateFunc"></param> /// <returns></returns> public Task <NonQueryResult> Update <T>(T obj, Func <T, T> updateFunc) where T : new() { UpdateQuery <T> query = new UpdateQuery <T>(Builder); query.Where(obj); obj = updateFunc(obj); query.Set(obj); return(ExecuteNonQuery(query)); }
public virtual string UpdateQuery(UpdateQuery query) { StringBuilder str = new StringBuilder(); str.Append("UPDATE "); str.Append(ModifiersQueryPart(query, true, true)); str.Append("\n"); str.Append(query.tables.ToString()); str.Append("\n"); str.Append(query.setClause.ToString()); str.Append("\n"); str.Append(query.ConditionalQueryPart()); return str.ToString(); }