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.
So, in the Model First approach, add new ADO.NET Entity Data Model and select Empty EF Designer model in Entity Data Model Wizard.
You can create an entity, association and inheritance on an empty designer by right clicking on designer surface -> Add New -> Entity.
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.
You can also add properties in the generated entity by right clicking on entity - > Add New -> Scalar property.
Enter the name of scalar property as shown below.
In the same way, you can add other entities and associations using toolbox.
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.
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.
Click Next to generate DDL for the DB model as shown below.
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 add (ModelName).Context.tt and (ModelName).tt with context class and entity classes as shown below.
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.
Visit MSDN for detailed information on Model-First approach.