Do I make a business layer class for each entity?
No, that's not really necessary. Business may use multiple repository entities in order to perform a business operation. e.g. CheckOutOrder class may include payment, shipping, inventory etc. type repository operation. It's business layer and it should be unaware of how your data is being represented by persistent storage.
Addressing your second question, Repository pattern is an abstraction layer you put on your data access layer (e.g. ORM like ADO.NET/EF/NHibernate)
IMO, If you really want to use repository pattern, keep it in mind that you're introducing an extra layer.
Your repository layer could be like:
IRespository<T>
RespositoryBase<T> : IRepository<T>
Further if you want to keep it generic then that's ok too. But make sure your generic function remains in the base class. which you would want to do to make reuse of generic code in all repository. Now you can create a dedicated class for each entity.
ProviderRepository : RepositoryBase<ProviderEntity>
you can also introduce abstraction for each type of repository to represent entity specific methods.
ProviderRepository : RepositoryBase<ProviderEntity>
ProviderRepository : RepositoryBase<ProviderEntity>, IProviderRepository
The actual implementation may differ but this is a demonstration just to give the idea to give you a head start. You will find enormous implementation of Repository pattern on internet. But I would suggest understand it first and keep it simple.