From d2302560f1bf0c6f2e462ea23e116a5f56d696c1 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Fri, 19 Dec 2025 09:25:58 +0100 Subject: [PATCH] Add repository registration to DependencyInjection Added a `RegsRepository` queue to manage repository registrations. Introduced `RegisterDefaultRepository()` to enqueue scoped repository registrations. Updated `RegisterAllServices` to process the `RegsRepository` queue during service registration. --- DigitalData.Core.Infrastructure/DependencyInjection.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/DigitalData.Core.Infrastructure/DependencyInjection.cs b/DigitalData.Core.Infrastructure/DependencyInjection.cs index 1acd7b9..d188058 100644 --- a/DigitalData.Core.Infrastructure/DependencyInjection.cs +++ b/DigitalData.Core.Infrastructure/DependencyInjection.cs @@ -40,6 +40,9 @@ public static class DependencyInjection // 3. register db set factories (can overwrite) private readonly Queue> RegsDbSetFactory = new Queue>(); + // 4. register repository + private readonly Queue> RegsRepository = new Queue>(); + internal void RegisterAllServices(IServiceCollection services) { // 1. register from assembly @@ -113,6 +116,11 @@ public static class DependencyInjection where TDbContext : DbContext where TEntity : class => RegsDbSetFactory.Enqueue(s => s.AddDbSetFactory(dbSetFactory)); + + public void RegisterDefaultRepository() + where TDbContext : DbContext + where TEntity : class + => RegsRepository.Enqueue(s => s.AddScoped, DbRepository>()); } private static void InvokeAll(this Queue> queue, T services)