public static IServiceCollection AddEfCoreSqlServerDb(this IServiceCollection services) { services.AddDbContextPool <DbContext, AppDbContext>((sp, o) => { IExtendDbContextOptionsBuilder extendOptionsBuilder = sp.GetRequiredService <IExtendDbContextOptionsBuilder>(); IDbConnStringFactory connStringFactory = sp.GetRequiredService <IDbConnStringFactory>(); extendOptionsBuilder.Extend(o, connStringFactory, string.Empty); }); services.Replace( ServiceDescriptor.Scoped < IDbConnStringFactory, SqlServerConnectionStringFactory>()); services.Replace( ServiceDescriptor.Scoped < IExtendDbContextOptionsBuilder, SqlServerDbContextOptionsBuilder>()); services.Replace( ServiceDescriptor.Scoped < IRepositoryFactory, DefaultRepositoryFactory>()); services.Replace( ServiceDescriptor.Scoped < DatabaseMigration, SqlServerDatabaseMigration>()); return(services); }
public DbContextOptionsBuilder Extend( DbContextOptionsBuilder optionsBuilder, IDbConnStringFactory connStringFactory, string assemblyName) { return(optionsBuilder.UseInMemoryDatabase("default_db")); }
public DbContextOptionsBuilder Extend( DbContextOptionsBuilder optionsBuilder, IDbConnStringFactory connStringFactory, string assemblyName) { return(optionsBuilder.UseMySql( connStringFactory.Create(), sqlOptions => { sqlOptions.MigrationsAssembly(assemblyName); sqlOptions.ServerVersion(_options.DbInfo); sqlOptions.EnableRetryOnFailure(15, TimeSpan.FromSeconds(30), null); }) .EnableSensitiveDataLogging()); }
public DbContextOptionsBuilder Extend(DbContextOptionsBuilder optionsBuilder, IDbConnStringFactory connectionStringFactory, string assemblyName) { var migrationFromAssemblyName = !string.IsNullOrWhiteSpace(assemblyName) ? assemblyName : Assembly.GetExecutingAssembly().FullName; return(optionsBuilder.UseSqlServer( connectionStringFactory.Create(), sqlServerOptionsAction => { sqlServerOptionsAction.MigrationsAssembly(migrationFromAssemblyName); //sqlServerOptionsAction.EnableRetryOnFailure( // 15, // TimeSpan.FromSeconds(30), // null); } )); }
public DbContextOptionsBuilder Extend(DbContextOptionsBuilder optionsBuilder, IDbConnStringFactory connectionStringFactory, string assemblyName) { string migrationFromAssemblyName = !string.IsNullOrWhiteSpace(assemblyName) ? assemblyName : Assembly.GetExecutingAssembly().FullName ; return(optionsBuilder.UseSqlServer( connectionString: connectionStringFactory.Create(), sqlServerOptionsAction: sqlServerOptionsAction => { sqlServerOptionsAction.MigrationsAssembly(migrationFromAssemblyName); sqlServerOptionsAction.EnableRetryOnFailure( maxRetryCount: 15, maxRetryDelay: TimeSpan.FromSeconds(30), errorNumbersToAdd: null ); } )); }