IRepository is just an interface that you create. It allows you to decouple your repositories from real implementations.