Entity Framework's "Code-First" development model has become a highly popular approach to data modeling in ASP.NET MVC development in the last few years. The Code First approach saves the average developer the perceived pain of working with SQL, and also minimizes the amount of repetitive, "boiler plate" code we need to write as part of a more traditional data access layer.
However, quite frequently we will need to develop against an existing database, the schema of which may or may not be open for modification . . .
Reverse-Engineering an Existing Database in your ASP.NET MVC Application Using Entity Framework Model/Database-First