Refactor repository registration to be context-based

Changed RegisterDefaultRepository to register repositories by DbContext only, removing the entity-specific generic parameter. Added a private InvokeAll<T> helper to process queued service registrations. This streamlines repository registration and improves code maintainability.
This commit is contained in:
2025-12-19 10:03:25 +01:00
parent 3021fd36f6
commit daa36d767d

View File

@@ -117,12 +117,11 @@ public static class DependencyInjection
where TEntity : class
=> RegsDbSetFactory.Enqueue(s => s.AddDbSetFactory(dbSetFactory));
public void RegisterDefaultRepository<TDbContext, TEntity>()
public void RegisterDefaultRepository<TDbContext>()
where TDbContext : DbContext
where TEntity : class
=> RegsRepository.Enqueue(s => s.AddScoped<IRepository<TEntity>, DbRepository<TDbContext, TEntity>>());
=> RegsRepository.Enqueue(s => s.AddScoped<IRepository, DbRepository<TDbContext>>());
}
private static void InvokeAll<T>(this Queue<Action<T>> queue, T services)
{
while (queue.Count > 0)