Creating an MVC app with generic repositories for data access