public static int AtomicIncrement <T>(this IDbConnection connection, Action <IRestrictable <T> > restriction, Expression <Func <T, object> > property, int amount) where T : class { var parameters = new List <object>(); var sql = new AtomicIncrementGenerator <T>().GetSql(restriction, property, amount, parameters); return(AttachParamsAndRun(connection, sql, parameters)); }
public void AtomicIncrement() { var generator = new AtomicIncrementGenerator <StamObject>(); var parameters = new List <object>(); var sql = generator.GetSql(q => q.In(x => x.Id, new[] { 5L }), x => x.Count, 5, parameters); Assert.AreEqual("UPDATE `stams` SET Count = Count + 5 WHERE (`Id` IN (?p0));", sql); }