public static DbContextOptionsBuilder UseDatabaseFromConfiguration(this DbContextOptionsBuilder options, IConfiguration configuration)
        {
            var connectionString = configuration.GetConnectionString("DefaultConnection");
            var dbType           = configuration.GetValue <DbTypes>("DbType");

            switch (dbType)
            {
            case DbTypes.InMemory:
                options.UseInMemoryDatabase(connectionString);
                break;

            case DbTypes.SqlServer:
                options.UseSqlServer(connectionString, options => options.MigrationsAssembly("Aguacongas.TheIdServer.Migrations.SqlServer"));
                break;

            case DbTypes.Sqlite:
                options.UseSqlite(connectionString, options => options.MigrationsAssembly("Aguacongas.TheIdServer.Migrations.Sqlite"));
                break;

            case DbTypes.MySql:
                options.UseMySql(connectionString, options => options.MigrationsAssembly("Aguacongas.TheIdServer.Migrations.MySql"));
                break;

            case DbTypes.Oracle:
                options.UseOracle(connectionString, options => options.MigrationsAssembly("Aguacongas.TheIdServer.Migrations.Oracle"));
                break;

            case DbTypes.PostgreSQL:
                options.UseNpgsql(connectionString, options => options.MigrationsAssembly("Aguacongas.TheIdServer.Migrations.PostgreSQL"));
                break;
            }
            return(options);
        }
Esempio n. 2
0
        public void Is_configured_when_configuration_contains_associated_extension()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseOracle("Database=Crunchie");

            Assert.True(new DatabaseProvider <OracleOptionsExtension>(new DatabaseProviderDependencies()).IsConfigured(optionsBuilder.Options));
        }
            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                Assert.Same(_options, optionsBuilder.Options);

                optionsBuilder.UseOracle(_connection, b => b.ApplyConfiguration());

                Assert.NotSame(_options, optionsBuilder.Options);
            }
            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                Assert.Same(_options, optionsBuilder.Options);

                optionsBuilder.UseOracle(OracleNorthwindTestStoreFactory.NorthwindConnectionString, b => b.ApplyConfiguration());

                Assert.NotSame(_options, optionsBuilder.Options);
            }
        public void Can_add_extension_with_command_timeout()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseOracle("Database=Crunchie", b => b.CommandTimeout(30));

            var extension = optionsBuilder.Options.Extensions.OfType <OracleOptionsExtension>().Single();

            Assert.Equal(30, extension.CommandTimeout);
        }
        public void Can_add_extension_with_max_batch_size()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseOracle("Database=Crunchie", b => b.MaxBatchSize(123));

            var extension = optionsBuilder.Options.Extensions.OfType <OracleOptionsExtension>().Single();

            Assert.Equal(123, extension.MaxBatchSize);
        }
        public void Can_add_extension_with_connection_string_using_generic_options()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DbContext>();

            optionsBuilder.UseOracle("Database=Whisper");

            var extension = optionsBuilder.Options.Extensions.OfType <OracleOptionsExtension>().Single();

            Assert.Equal("Database=Whisper", extension.ConnectionString);
            Assert.Null(extension.Connection);
        }
        public void Can_add_extension_with_connection_string()
        {
            var optionsBuilder = new DbContextOptionsBuilder();

            optionsBuilder.UseOracle("Database=Crunchie");

            var extension = optionsBuilder.Options.Extensions.OfType <OracleOptionsExtension>().Single();

            Assert.Equal("Database=Crunchie", extension.ConnectionString);
            Assert.Null(extension.Connection);
        }
 /// <summary>
 ///     Configures the context to connect to a Oracle database. by RivenFx
 /// </summary>
 /// <param name="optionsBuilder"> The builder being used to configure the context. </param>
 /// <param name="connection">
 ///     An existing <see cref="DbConnection" /> to be used to connect to the database. If the connection is
 ///     in the open state then EF will not open or close the connection. If the connection is in the closed
 ///     state then EF will open and close the connection as needed.
 /// </param>
 /// <param name="oracleOptionsAction">An optional action to allow additional Oracle specific configuration.</param>
 /// <returns> The options builder so that further configuration can be chained. </returns>
 public static DbContextOptionsBuilder UseDevartOracle([NotNull] this DbContextOptionsBuilder optionsBuilder,
                                                       [NotNull] DbConnection connection,
                                                       [CanBeNull] Action <OracleDbContextOptionsBuilder> databaseOptionsBuilderAction = null)
 {
     return(optionsBuilder.UseOracle(
                connection,
                (dbContextOptionsBuilder) =>
     {
         databaseOptionsBuilderAction?
         .Invoke(dbContextOptionsBuilder);
     }));
 }
        public void Can_add_extension_with_connection_using_generic_options()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DbContext>();
            var connection     = new OracleConnection();

            optionsBuilder.UseOracle(connection);

            var extension = optionsBuilder.Options.Extensions.OfType <OracleOptionsExtension>().Single();

            Assert.Same(connection, extension.Connection);
            Assert.Null(extension.ConnectionString);
        }
Esempio n. 11
0
 /// <summary>
 ///     Configures the context to connect to a Oracle database. by RivenFx
 /// </summary>
 /// <param name="optionsBuilder"> The builder being used to configure the context. </param>
 /// <param name="connection">
 ///     An existing <see cref="DbConnection" /> to be used to connect to the database. If the connection is
 ///     in the open state then EF will not open or close the connection. If the connection is in the closed
 ///     state then EF will open and close the connection as needed.
 /// </param>
 /// <param name="databaseOptionsBuilderAction">An optional action to allow additional Oracle specific configuration.</param>
 /// <returns> The options builder so that further configuration can be chained. </returns>
 public static DbContextOptionsBuilder UseRivenOracle([NotNull] this DbContextOptionsBuilder optionsBuilder,
                                                      [NotNull] DbConnection connection,
                                                      [CanBeNull] Action <OracleDbContextOptionsBuilder> databaseOptionsBuilderAction = null)
 {
     optionsBuilder.UseOracle(
         connection,
         (dbContextOptionsBuilder) =>
     {
         dbContextOptionsBuilder.UseOracleSQLCompatibility();
         databaseOptionsBuilderAction?.Invoke(dbContextOptionsBuilder);
     })
     .UseRivenOracleSqlGeneration();
     return(optionsBuilder);
 }
Esempio n. 12
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseOracle(_connectionString, b => b.ApplyConfiguration());
Esempio n. 13
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseOracle(OracleNorthwindTestStoreFactory.NorthwindConnectionString, b => b.ApplyConfiguration());
Esempio n. 14
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseOracle("Database=Maltesers");
Esempio n. 15
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseOracle(new FakeDbConnection("A=B"));
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder
 .UseOracle(OracleTestStore.CreateConnectionString(_databaseName), b => b.ApplyConfiguration())
 .UseInternalServiceProvider(_serviceProvider);
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseOracle("Database=Crunchie", b => b.ApplyConfiguration());
Esempio n. 18
0
 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder
 .UseOracle(_connection, b => b.ApplyConfiguration())
 .UseInternalServiceProvider(_serviceProvider);
Esempio n. 19
0
 protected override void UseProviderOptions(DbContextOptionsBuilder optionsBuilder)
 => optionsBuilder.UseOracle(new OracleConnection(TestConnectionString));