The repository pattern is a great way to handle your data access layer and should be used wherever you have a need to retrieve data and turn it into domain objects.
The advantages of using a repository pattern are:
Even better, by providing a consistent repository base class, you can get all your CRUD operations while avoiding any plumbing code.
Tip: Entity Framework provides a great abstraction for data access out of the box. See Jason’s Clean Architecture with ASP.NET Core talk for more information