Code-First versus Model-First versus Database-First approach
With Entity Framework, you can choose between three approaches of implementation, and it's always nice to have a choice. Let's have a quick look at the differences between them.
Code-First approach
The weapon of choice for hardcore programmers, this approach gives you full control over the database, from code. The database is seen a simple storage location and will most likely not contain any logic or business rules. Everything is driven from the code and thus any changes required need to be done in code as well:
Model-First approach
If you prefer painting over poetry, then you might prefer the Model-First approach. In this approach, you create or draw your model, and the workflow will generate a database script. You could also extend your model with partial classes, if there is a need to add specific logic or business rules, but it could become hairy and it might be better to consider the Code-First approach if there are too many...