Overriding Existing Methods
public class MyUnitOfWork<TDbContext> : RENUnitOfWork<TDbContext> where TDbContext : RENDbContext
{
public MyUnitOfWork(TDbContext context) : base(context) { }
public override IRENRepository<TEntity>? GetRENRepository<TEntity>()
{
// Make custom actions here
return base.GetRENRepository<TEntity>();
}
// we didn't override SaveChanges() method because we don't want to change it's behaviour
}// builder.Services.RegisterRENDatabaseAccessHelpers(); // SINCE WE ARE NOT USING STANDARD APPROACH ANYMORE
builder.Services.AddScoped(typeof(IRENUnitOfWork<>), typeof(MyUnitOfWork<>));public class HomeController : ControllerBase
{
private readonly IRENUnitOfWork<RENDbContext> _uow;
private readonly IRENRepository<User> _customUserRepository;
public HomeController(IRENUnitOfWork<RENDbContext> uow)
{
_uow = uow;
_customUserRepository = uow.GetRENRepository<User>();
}
}Last updated