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); }
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); }
/// <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); }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseOracle(_connectionString, b => b.ApplyConfiguration());
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseOracle(OracleNorthwindTestStoreFactory.NorthwindConnectionString, b => b.ApplyConfiguration());
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseOracle("Database=Maltesers");
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());
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder .UseOracle(_connection, b => b.ApplyConfiguration()) .UseInternalServiceProvider(_serviceProvider);
protected override void UseProviderOptions(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseOracle(new OracleConnection(TestConnectionString));