private async Task ExecuteDeleteSqlAsync(DbConnection connection) { using (var tx = connection.BeginTransaction()) using (var cmd = connection.CreateCommand()) { cmd.CommandTimeout = CommandTimeout ?? cmd.CommandTimeout; cmd.Transaction = tx; if (DbAdapter == Respawn.DbAdapter.Jet) { foreach (var statement in DeleteSql.Remove(DeleteSql.Length - 6).Split(new string[] { ";##;" }, StringSplitOptions.None)) { cmd.CommandText = statement; await cmd.ExecuteNonQueryAsync(); } } else { cmd.CommandText = DeleteSql; await cmd.ExecuteNonQueryAsync(); if (ReseedSql != null) { cmd.CommandText = ReseedSql; await cmd.ExecuteNonQueryAsync(); } } tx.Commit(); } }
public IObservable <int> Delete(Int64 id) { var param = "@id".ToParam(DbType.Int64, id); var cmd = DeleteSql.ToCmd(CommandType.Text, param); return(Db.ExecuteNonQuery(cmd)); }