Repository pattern is one of the most popular pattern used while accesing dataacces layer. Tech stack are changing fast and so is the data layers, there are introduction of faster and more efficeient data storages every few years. So to be able to decouple our architecture from the data layer is mostly important and Repository Design pattern is the best practice to follow for this task.
I have a post that covers the use of Repository pattern by showing the code that handles ADO.net and Entity Framework. The post is a bit lengthy, I find time I will definately derive the sections from there and will try to embed in this post itself. But for now you can refre to : Well architected application development.
The article bleow is also good starting point to understand the repository pattern and why it is important to be included in your Application architecture.
https://makingloops.com/why-should-you-use-the-repository-pattern/