C # creación automática de repositorios por tipo de entidad

Encontré un ejemplo de Repositorio genérico que se basa enMarco de la entida y tratando de entender cómo resolver automáticamente repositorios por la misma interfaz y tipo de entidad.

El enlace de arriba lleva al repositorio donde puede ver el siguiente enfoque:

public class HomeController : Controller
{
    private readonly ICategoryRepository _repository;

    public HomeController(ICategoryRepository repository)
    {
        _repository = repository;
    }

en este caso tenemos que crear un CategoryRepository separado, entonces,repository es por tipo.

Eso significa que terminamos teniendo muchas clases para repositorios.

Me gustaría mantenerme alejado de varias clases y encontrar una solución alternativa para trabajar con repositorios que pasen el tipo de entidad a la interfaz como parámetro de tipo

public class HomeController : Controller
{
    private readonly IRepository<Category> _repository;

    public HomeController(IRepository<Category> repository)
    {
        _repository = repository;
    }

ntenté buscar la solución en Google, pero no descubrí mucho en cuanto a ejemplos de código.

ASP.NET Boilerplate framework tiene este funcionalidad como puedes ver enfuente.

Puedo ver los archivos de interfaz en esa carpeta y tienen sentido.

Pero su implementación es un poco oscura para mí, ya que parece haber algún código adicional que maneja la creación automática de repositorios.

Respuestas a la pregunta(1)

Su respuesta a la pregunta