public SqlSequenceRepositoryAdapter(IRepository repository, ISequenceNameProvider provider, bool autoRestart = false, int rangeSize = 10)
            : base(repository)
        {
            if (!(((IDataContext <DbContext>)Repository.DataContext).Session.Database.GetDbConnection() is SqlConnection))
            {
                throw new NotSupportedException();
            }

            _provider    = provider;
            _autoRestart = autoRestart;
            _rangeSize   = rangeSize < 1 ? 10 : rangeSize;
        }
 public static IRepository WithSqlSequenceSupport(this IRepository repository, ISequenceNameProvider provider = null)
 {
     return(new SqlSequenceRepositoryAdapter(repository, provider ?? new DefaultSequenceNameProvider()));
 }