Skip to main content

How To: Generate Data Access Layer with Entity Framework Database First

  • 3 minutes to read

This topic gives a step-by-step description of how to connect to a database and generate the Data Access Layer with the Entity Framework.

Note

In this tutorial, you will use the newly improved and freely distributed Northwind database commonly used for demonstration purposes. You can download our version from here, or continue with the standard Northwind database provided by Microsoft.

Create an empty WPF application (you can use the Template Gallery to do this), or open an existing project and follow the following steps.

Run Entity Data Model Wizard

To connect to a database and construct an Entity Framework data model, right-click the project in the Solution Explorer and select the Add | New Item option.

sc-databasefirst-01-AddItem

Next, in the Data category, select the ADO.NET Entity Data Model item, set its name and click Add.

sc-databasefirst-05-AddItem

The standard Entity Data Model Wizard is displayed. Select EF Designer from database and click Next to specify the connection settings.

sc-databasefirst-10-Wizard

Click the New Connection button to set connection properties.

sc-databasefirst-15-Wizard

Set Connection Properties

In the Connection Properties window, click the Change button and select the Microsoft SQL Server Database File as the data source provider.

sc-databasefirst-20-Wizard

sc-databasefirst-25-Wizard

Next, click the Browse button in the Connection Properties window to locate the database file, and then click OK.

sc-databasefirst-30-Wizard

Complete Model Generation

When the data source is chosen, Visual Studio shows the connection string in the Entity Data Model Wizard. Check this information and click Next.

sc-databasefirst-35-Wizard

Next, Visual Studio asks whether to copy the database file to your project. You can select Yes or No, based on your requirements.

sc-databasefirst-40-Wizard

Note

Visual Studio may ask you to choose the Entity Framework version. DevExpress Scaffolding Wizards do not support Entity Framework versions older than 6. If you working with a version older than 6, you will need to upgrade to Entity Framework 6.

After that, you will see the database structure. In this screen, you can select tables and views to include them in the model.

sc-databasefirst-45-Wizard

Rebuild the project to compile the generated classes.

If you chose to add a database file to a project, then a database is copied to the output directory each time the project is rebuilt – this is default behavior. That is, changes made to data are discarded after rebuilding. If you would like the database file to persist, select the database from the Solution Explorer and set its Copy to Output Directory property to Copy if newer. This way, the database is only replaced when scheme conflicts are detected.

sc-databasefirst-50-Properties

What is Next?

When, the Data Access Layer is generated, you can use our Scaffolding Wizard to generate the other parts of a database-oriented application. The UI Generation topic describes how to do this step-by-step.