public EFCoreStorage(
     Func <DbContext> dbContextBuilder,
     EFCoreStorageOptions options)
 {
     _dbContextBuilder    = dbContextBuilder ?? throw new ArgumentNullException(nameof(dbContextBuilder));
     _options             = options ?? throw new ArgumentNullException(nameof(options));
     DefaultQueueProvider = new EFCoreJobQueueProvider(this);
 }
Ejemplo n.º 2
0
        public static IGlobalConfiguration <EFCoreStorage> UseEFCoreStorage(
            [NotNull] this IGlobalConfiguration configuration,
            [NotNull] Action <DbContextOptionsBuilder> optionsAction,
            [NotNull] EFCoreStorageOptions options)
        {
            if (configuration is null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            return(configuration.UseStorage(new EFCoreStorage(optionsAction, options)));
        }
        public EFCoreStorage(
            Action <DbContextOptionsBuilder> optionsAction,
            EFCoreStorageOptions options)
        {
            if (optionsAction is null)
            {
                throw new ArgumentNullException(nameof(optionsAction));
            }
            if (options is null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _options = options;
            var contextOptionsBuilder = new DbContextOptionsBuilder <HangfireContext>();

            optionsAction.Invoke(contextOptionsBuilder);
            _contextOptions      = contextOptionsBuilder.Options;
            DefaultQueueProvider = new EFCoreJobQueueProvider(this);
        }