Example #1
0
 public static void UseSqlite(
     [NotNull] this EfDbContextOptions options,
     [CanBeNull] Action <SqliteDbContextOptionsBuilder> sqliteOptionsAction = null)
 {
     options.Configure(context =>
     {
         context.UseSqlite(sqliteOptionsAction);
     });
 }
Example #2
0
 public static void UseNpgsql(
     [NotNull] this EfDbContextOptions options,
     [CanBeNull] Action <NpgsqlDbContextOptionsBuilder> optionsAction = null)
 {
     options.Configure(context =>
     {
         context.UseNpgsql(optionsAction);
     });
 }
    public UnitOfWorkDbContextProvider(
        IUnitOfWorkManager unitOfWorkManager,
        IConnectionStringResolver connectionStringResolver,
        ICancellationTokenProvider cancellationTokenProvider,
        ICurrentTenant currentTenant,
        IOptions <EfDbContextOptions> options)
    {
        _unitOfWorkManager         = unitOfWorkManager;
        _connectionStringResolver  = connectionStringResolver;
        _cancellationTokenProvider = cancellationTokenProvider;
        _currentTenant             = currentTenant;
        _options = options.Value;

        Logger = NullLogger <UnitOfWorkDbContextProvider <TDbContext> > .Instance;
    }
Example #4
0
    private static void Configure <TDbContext>(
        EfDbContextOptions options,
        DbContextConfigurationContext <TDbContext> context)
        where TDbContext : DbContext
    {
        var configureAction = options.ConfigureActions.GetOrDefault(typeof(TDbContext));

        if (configureAction != null)
        {
            ((Action <DbContextConfigurationContext <TDbContext> >)configureAction).Invoke(context);
        }
        else if (options.DefaultConfigureAction != null)
        {
            options.DefaultConfigureAction.Invoke(context);
        }
        else
        {
            throw new Exception($"No configuration found for {typeof(DbContext).AssemblyQualifiedName}! Use services.Configure<AbpDbContextOptions>(...) to configure it.");
        }
    }
Example #5
0
    private static void PreConfigure <TDbContext>(
        EfDbContextOptions options,
        DbContextConfigurationContext <TDbContext> context)
        where TDbContext : DbContext
    {
        foreach (var defaultPreConfigureAction in options.DefaultPreConfigureActions)
        {
            defaultPreConfigureAction.Invoke(context);
        }

        var preConfigureActions = options.PreConfigureActions.GetOrDefault(typeof(TDbContext));

        if (!preConfigureActions.IsNullOrEmpty())
        {
            foreach (var preConfigureAction in preConfigureActions)
            {
                ((Action <DbContextConfigurationContext <TDbContext> >)preConfigureAction).Invoke(context);
            }
        }
    }