Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
        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();
        }