i'm looking online for how to make a dynamic repository with EF and i often see that people are using ApplicationDbContext as a private object.
i'm guessing that it derived from DbContext but is there any problem with just using DbContext?
BTW i cant seem to be able to add ApplicationDbContext.. is there any using i'm missing?
public class Repository<T> : IRepository<T> where T : EntityBase
{
    private readonly ApplicationDbContext _dbContext;
    public Repository(ApplicationDbContext dbContext)
    {
        _dbContext = dbContext;
    }
    public virtual T GetById(int id)
    {
        return _dbContext.Set<T>().Find(id);
    }
    public virtual IEnumerable<T> List()
    {
        return _dbContext.Set<T>().AsEnumerable();
    }
    public virtual IEnumerable<T> List(System.Linq.Expressions.Expression<Func<T, bool>> predicate)
    {
        return _dbContext.Set<T>()
               .Where(predicate)
               .AsEnumerable();
    }
    public void Insert(T entity)
    {
        _dbContext.Set<T>().Add(entity);
        _dbContext.SaveChanges();
    }
    public void Update(T entity)
    {
        _dbContext.Entry(entity).State = EntityState.Modified;
        _dbContext.SaveChanges();
    }
    public void Delete(T entity)
    {
        _dbContext.Set<T>().Remove(entity);
        _dbContext.SaveChanges();
    }
}
 
    