public static IServiceCollection AddHookmanSqlServerPersistence(this IServiceCollection services, Action <HookmanSqlServerPersistenceConfig> configAction) { var config = new HookmanSqlServerPersistenceConfig(); configAction.Invoke(config); return(AddHookmanSqlServerPersistence(services, config)); }
public static IServiceCollection AddHookmanSqlServerPersistence(this IServiceCollection services, HookmanSqlServerPersistenceConfig config) { services.AddDbContextPool <HookmanDataContext>(options => { options.UseSqlServer(config.ConnectionString, sqlServerOptionsAction => { sqlServerOptionsAction.CommandTimeout(120).EnableRetryOnFailure(); sqlServerOptionsAction.MigrationsHistoryTable(TableConstants.MigrationHistoryTableName, TableConstants.SchemaName); }); }); services.AddTransient <IActionRepository, ActionRepository>(); services.AddTransient <IEventRepository, EventRepository>(); services.AddTransient <IHookRepository, HookRepository>(); services.AddTransient <IReceiverRepository, ReceiverRepository>(); services.AddTransient <ISenderRepository, SenderRepository>(); services.AddTransient <IStatusRepository, StatusRepository>(); return(services); }