public SqlServerReadProcedureWithRetry(IDataComponentFactory factory, RetryOptions retryOptions)
        {
            var instance = new ReadProcedure(factory);

            _proxy = RetryProxy.Create <IReadProcedure>(instance, retryOptions, new SqlServerTransientErrorTester());
        }
        public SqlServerReadProcedureWithRetry(IDataComponentFactory factory, SqlServerTransientRetryPolicy retryPolicy)
        {
            var instance = new ReadProcedure(factory);

            _proxy = RetryProxy.Create <IReadProcedure>(instance, retryPolicy);
        }
        public SqlServerReadProcedureWithRetry(DbConnection dbConnection, RetryOptions retryOptions)
        {
            var instance = new ReadProcedure(dbConnection, new SqlServerParameterFactory(), new SqlServerDataAdapterFactory());

            _proxy = RetryProxy.Create <IReadProcedure>(instance, retryOptions, new SqlServerTransientErrorTester());
        }
        public SqlServerReadProcedureWithRetry(DbConnection dbConnection, SqlServerTransientRetryPolicy retryPolicy)
        {
            var instance = new ReadProcedure(dbConnection, new SqlServerParameterFactory(), new SqlServerDataAdapterFactory());

            _proxy = RetryProxy.Create <IReadProcedure>(instance, retryPolicy);
        }