не уверен, что понял ваш вопрос, поэтому я думаю ...
Я бы выполнил команду внутри транзакции и вызвал откат вместо коммита, чтобы код выполнялся, в случае ошибок command.ExecuteNonQuery()
сгенерируйте исключение, и в любом случае после transaction.RollBack()
будет предотвращено сохранение изменений в базе данных.