Por lo que he aprendido, el IRepositorydebería contener CRUD. Entonces heredamos esta IRepositoryen nuestras otras interfaces como IProducte implementar IProductclase concreta ProductRepository, con métodos como GetAllProducts(), Top5Products().
También podríamos hacer lo mismo con la arquitectura de n niveles. como, Creación DAL Class Libraryy en ella definir una clase Productcon métodos como GetAllProducts(), Top5Products().
En ambos DAL.Producty Repo.ProductRepositoryclases de inicializar DB Contextde Entity Frameworky consulta nuestros datos pertinentes.
La llamada es similar en ambos métodos Repo.ProductRepositoryo DAL.ProductdesdeBLL
En vista de estas similitudes, mi pregunta ¿cuál es el beneficio de Repos? Puedo hacer lo mismo con mucha facilidad utilizando arquitecturas de n-capas con ( Controller, BLL Class Library, DAL Class Library).