I have a project structure like this :

[![enter image description here](https://i.stack.imgur.com/MHWAb.png)](https://i.stack.imgur.com/MHWAb.png)

Here, `IApplicationDbContext.cs` interface defined in `Application` layer and it's implementation is done in `Infrastructure` layer. Similarly for Generic Repository called `IRepository'

I have a doubt about where to implement the Specific Repositories? in this case, I have `IProductRepository` defined in the `Application` Layer. So, where should I implement this? In the `Application Layer` itself? or in the `Infrastructure Layer`?

Please guide.