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:
@@ -117,12 +117,11 @@ public static class DependencyInjection
|
|||||||
where TEntity : class
|
where TEntity : class
|
||||||
=> RegsDbSetFactory.Enqueue(s => s.AddDbSetFactory(dbSetFactory));
|
=> RegsDbSetFactory.Enqueue(s => s.AddDbSetFactory(dbSetFactory));
|
||||||
|
|
||||||
public void RegisterDefaultRepository<TDbContext, TEntity>()
|
public void RegisterDefaultRepository<TDbContext>()
|
||||||
where TDbContext : DbContext
|
where TDbContext : DbContext
|
||||||
where TEntity : class
|
=> RegsRepository.Enqueue(s => s.AddScoped<IRepository, DbRepository<TDbContext>>());
|
||||||
=> RegsRepository.Enqueue(s => s.AddScoped<IRepository<TEntity>, DbRepository<TDbContext, TEntity>>());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void InvokeAll<T>(this Queue<Action<T>> queue, T services)
|
private static void InvokeAll<T>(this Queue<Action<T>> queue, T services)
|
||||||
{
|
{
|
||||||
while (queue.Count > 0)
|
while (queue.Count > 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user