Model First development with Entity Framework:

In the Model First approach, you create Entities, relationships, and inheritance hierarchies directly on the design surface of EDMX and then generate database from your model.

First of all, add new Entity Data Model by right clicking on the project in the solution explorer in Visual Studio (2012/2015/2017) -> Add -> New Item. This will open Add New Item popup. In the popup, select ADO.NET Entity Data Model and provide an appropriate name of EDM and click Add button. This will open Entity Data Model Wizard. Select Empty EF Designer model and click Finish in the wizard, as shown below.

Entity Framework Model first

You can create an entity, association and inheritance on an empty designer by right clicking on designer surface -> Add New -> Entity.

Entity Framework Model first

In the Add Entity dialogue, enter name of the entity. Also you can change the default settings for Entity set and key property. We will keep the default settings as it is. Click OK to generate an entity.

Entity Framework Model first

You can also add properties in the generated entity by right clicking on entity - > Add New -> Scalar property.

Entity Framework Model first

Enter the name of scalar property as shown below.

Entity Framework Model first

In the same way, you can add other entities and associations using toolbox.

Entity Framework Model first

After creating the required entities, associations, and inheritance on the design surface of the empty model, you can use the designer's context menu option 'Generate database from model' to generate DDL script.

Entity Framework Model first

This will open Generate Database Wizard. You can select existing database or create a new connection by clicking on New Connection.. Select database server and enter the name of the database to create and then click OK. It will ask you for the confirmation for creating a new database. Click Yes to create a database.

Entity Framework Model first

Click Next to generate DDL for the DB model as shown below.

Entity Framework Model first

This will add <ModelName>.edmx.sql file in the project. You can execute DDL scripts in Visual Studio by opening .sql file -> right click -> Execute.

Now, you can generate context class and entities by right clicking on the designer and selecting Add Code Generation Item... This will open popup to select EF 6 or EF 5 DbContext Generator item. Select EF 6 DbContext Generator item as we are using EF 6 and click Add button.

Entity Framework Model first

This will add (ModelName).Context.tt and (ModelName).tt with context class and entity classes as shown below.

Entity Framework Model first

So, in this way, you can design your DB model and then generate a database and classes based on the model. This is called the Model-First approach.