/// <summary>
        /// Configure the repository for use with Postgres
        /// </summary>
        /// <param name="configurator"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static IEntityFrameworkSagaRepositoryConfigurator <T> UsePostgres <T>(this IEntityFrameworkSagaRepositoryConfigurator <T> configurator)
            where T : class, ISaga
        {
            configurator.LockStatementProvider = new PostgresLockStatementProvider();

            return(configurator);
        }
        /// <summary>
        /// Configure the repository for use with Postgres
        /// </summary>
        /// <param name="configurator"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static IEntityFrameworkSagaRepositoryConfigurator UsePostgres(this IEntityFrameworkSagaRepositoryConfigurator configurator)
        {
            configurator.LockStatementProvider = new PostgresLockStatementProvider();

            return(configurator);
        }
        /// <summary>
        /// Configure the repository for use with SQL Server
        /// </summary>
        /// <param name="configurator"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static IEntityFrameworkSagaRepositoryConfigurator UseSqlServer(this IEntityFrameworkSagaRepositoryConfigurator configurator)
        {
            configurator.LockStatementProvider = new SqlServerLockStatementProvider();

            return(configurator);
        }