The Entity Framework supports three distinct ways to model our data: Database First, Model First, and Code First.
Database First is used when the database already exists and provides support to derive a model from the existing database schema
The Model First approach provides support to visually model our data and, from the model, generate the database
Code First allows us to generate our database schema from a model we define in code
Since we are developing a new app, the Database First method of modeling our data doesn't really apply. The Model First approach, introduced in Visual Studio 2010, could be used for the BrewHow app, but we will instead opt for the more agile approach of Code First.
The Code First approach will also allow us to update the schema in a (largely) non-destructive manner using migrations. This is important since we will adjust the model to better map our domain as we continually enhance our app. Additionally, it's just cool and we like new shiny toys...