Using Entity Framework with Database-First Approach: A Step-by-Step Guide

Akila Ishan
2 min readMay 5, 2024

--

Entity Framework offers developers the flexibility to work with databases using either a Database-First or Code-First approach. In this guide, we’ll walk through the process of using Entity Framework with the Database-First approach, allowing you to generate entity classes and a DbContext from an existing database schema. Let’s dive in!

Step 1: Create a .NET Core or .NET Framework Project

Begin by creating a new .NET Core or .NET Framework project in your preferred development environment. This project will serve as the foundation for your application.

Step 2: Install Entity Framework Tools

In order to use the Database-First approach, you’ll need to install the Entity Framework Tools package. Open the NuGet Package Manager Console and run the following command:

Install-Package Microsoft.EntityFrameworkCore.Tools

This package provides tools for working with Entity Framework, including scaffolding from an existing database.

Step 3: Create a Connection String

Next, ensure you have a connection string for your database. This connection string should be added to your project’s configuration file (appsettings.json for .NET Core, or App.config/Web.config for .NET Framework).

{
"ConnectionStrings": {
"DefaultConnection": "Server=your-server;Database=your-database;Integrated Security=True;"
}
}

Replace your-server and your-database with the appropriate values for your database server and database name.

Step 4: Scaffold Entity Classes and DbContext

Now it’s time to scaffold entity classes and a DbContext from your existing database schema. Open the Package Manager Console and run the following command:

Scaffold-DbContext "Server=your-server;Database=your-database;Integrated Security=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

This command instructs Entity Framework to generate entity classes and a DbContext based on the tables and relationships in your database. Replace your-server and your-database with your actual server and database names.

Step 5: Explore Generated Files

Once the scaffolding process is complete, navigate to the specified output directory (e.g., Models) in your project. You’ll find the generated entity classes (*.cs files) representing your database tables, as well as a DbContext class.

Step 6: Start Using Entity Framework

With the entity classes and DbContext generated, you can now start using Entity Framework to interact with your database. Use LINQ queries to query and manipulate data, and leverage the power of Entity Framework to streamline your data access code.

Conclusion:

Congratulations! You’ve successfully set up Entity Framework with the Database-First approach, allowing you to generate entity classes and a DbContext from an existing database schema. With Entity Framework, database interactions become a breeze, freeing you to focus on building great applications.

--

--

Akila Ishan

"Join an associate software engineer's journey. Sharing insights and lessons in software development. Let's learn together!"