From fe01e04966f5eedd6ccf1e3b23ac947abecf48d6 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Fri, 2 Aug 2024 22:46:08 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Hinzuf=C3=BCgen=20und=20Injizieren=20vo?= =?UTF-8?q?n=20StaffDB-Repositories=20in=20den=20DI-Container?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Registrierte verschiedene Repositories als Scoped in `DIExtensions`. - Injizierte Repositories in die Methode `ConfigureServices` zur Nutzung in der Anwendung. --- DAL/DIExtensions.cs | 43 ++++++++++++++++++++++++++++++++++++++++ StaffDBServer/Startup.cs | 7 +++++-- 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 DAL/DIExtensions.cs diff --git a/DAL/DIExtensions.cs b/DAL/DIExtensions.cs new file mode 100644 index 0000000..509be36 --- /dev/null +++ b/DAL/DIExtensions.cs @@ -0,0 +1,43 @@ +using DAL.Repositories; +using Microsoft.Extensions.DependencyInjection; + +namespace DAL +{ + public static class DIExtensions + { + public static IServiceCollection AddStaffDBRepositories(this IServiceCollection services) + { + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + + return services; + } + } +} diff --git a/StaffDBServer/Startup.cs b/StaffDBServer/Startup.cs index 1639b76..9025d10 100644 --- a/StaffDBServer/Startup.cs +++ b/StaffDBServer/Startup.cs @@ -22,15 +22,18 @@ namespace StaffDBServer services.ConfigureWebApiExtensionsAtFirst(); //at first services.ConfigureRepositoryWrapper(); //add repos - + services.AddDbContext(options => { const int dbTimeoutInMin = 5; + var cnnStr = WebApiConfig.ConnectionString(EN_ConnectionType.SQLServer); options - .UseSqlServer(WebApiConfig.ConnectionString(EN_ConnectionType.SQLServer), + .UseSqlServer(cnnStr, opts => opts.CommandTimeout((int)TimeSpan.FromMinutes(dbTimeoutInMin).TotalSeconds)); }); + services.AddStaffDBRepositories(); + services.ConfigureWebApiExtensionsEnd(); //should come last }