using Abp.Domain.Entities;
using Abp.Domain.Repositories;
using Abp.EntityFrameworkCore;
using Abp.EntityFrameworkCore.Repositories;

namespace YGNT.QuestionLibrary.EntityFrameworkCore.Repositories
{

    public abstract class QuestionLibraryRepositoryBase<TEntity, TPrimaryKey> : EfCoreRepositoryBase<QuestionLibraryDbContext, TEntity, TPrimaryKey>
        where TEntity : class, IEntity<TPrimaryKey>
    {
        protected QuestionLibraryRepositoryBase(IDbContextProvider<QuestionLibraryDbContext> dbContextProvider)
            : base(dbContextProvider)
        {
        }

        // Add your common methods for all repositories
    }


    public abstract class QuestionLibraryRepositoryBase<TEntity> : QuestionLibraryRepositoryBase<TEntity, int>, IRepository<TEntity>
        where TEntity : class, IEntity<int>
    {
        protected QuestionLibraryRepositoryBase(IDbContextProvider<QuestionLibraryDbContext> dbContextProvider)
            : base(dbContextProvider)
        {
        }

        // Do not add any method here, add to the class above (since this inherits it)!!!
    }
}
