Вы могли бы (просто идея) получить возможность повторных попыток, переопределив метод GenerateCommand () драйвера соединения.Там вы бы вернули упакованную команду IDbCommand, которая при необходимости повторяется.
Если вы работаете с требованиями, связанными с "иногда подключенными", см. этот вопрос .