The database-first approach is applicable in scenario where a database already exists for the application.
In the code-first approach the Entity Framework creates database objects based on model classes that you create to represent application data.
The Entity Framework is an ORM framework that ASP.NET MVC applications can use.
Are responsible for processing the requests that are sent to the controller.
Is responsible for intercepting incoming requests and executing the appropriate application code.