The Repository and Unit of Work Patterns:
The repository and unit of work patterns are intended to create an abstraction layer between the data access layer and the business logic layer of an application. Implementing these patterns can help insulate your application from changes in the data store and can facilitate automated unit testing or test-driven development (TDD).
public HomeController()
{
i1 = new Repository();
}
Explanation: It just instantiates an object of your
Repository class.After that you can use that to call your CRUD operations which are implemented in your Repository class.
It's like this :
var students = from s in i1.GetStudents()
select s;
Please read this article for more info : Implementing the Repository and Unit of Work Patterns in an ASP.NET MVC Application