Featured Article

Mastering Asp Net Core Web Api With Ef Core A Comprehensive Guide

Kenneth Jul 13, 2026

ASP.NET Core and Entity Framework Core (EF Core) are two powerful technologies developed by Microsoft that play nicely together, making it a popular choice for creating robust and efficient web APIs. ASP.NET Core, the most modern and cross-platform version of ASP.NET, provides a high-performance, non-blocking I/O, lightweight server for the development of web applications and APIs. Entity Framework Core, on the other hand, is a lightweight, extensible, and cross-platform ORM (Object-Relational Mapping) framework that makes it easy to work with databases in .NET applications.

the asp net core info sheet shows what it is like to work on an application
the asp net core info sheet shows what it is like to work on an application

By combining these two technologies, developers can leverage their strengths to create web APIs that are not only fast and responsive but also simple to implement and maintain. In this article, we'll explore the integration of ASP.NET Core Web API and Entity Framework Core, and delve into key aspects such as setup, configuration, and best practices.

What is the difference between ASP.NET and ASP.NET Core?
What is the difference between ASP.NET and ASP.NET Core?

Setting Up ASP.NET Core Web API with EF Core

Before we dive into the intricacies of using EF Core in ASP.NET Core Web API, let's first explore how to set up a new project and integrate the two technologies.

ASP.NET Core
ASP.NET Core

To create a new ASP.NET Core Web API project with EF Core, we can use the .NET Core CLI (Command Line Interface) or Visual Studio. Here's how you can do it using CLI:

dotnet new webapi -n MyWebApi
cd MyWebApi
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet ef

The above commands create a new web API project named "MyWebApi", navigate to the project's directory, add the required EF Core packages, and initialize the EF Core tools.

asp net core web api ef core
asp net core web api ef core

Configuring the DbContext

Once the project is set up, the next step is to create and configure the DbContext. The DbContext class is the central part of EF Core that interacts with the database, defines the entities, and their relationships. Here's a simple example of a DbContext:

public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    public DbSet<Item> Items { get; set; }
}

In the above example, we define a DbSet for an entity named "Item". The DbContext is then configured in the Program.cs file using the default service provider:

site web déployer
site web déployer

builder.Services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
...
_ = host.Run();

Creating the Database and Migrations

After configuring the DbContext, we can create the database schema and update it as needed using EF Core's migration system. Here's how to create and apply migrations:

dotnet ef migrations add InitialCreate
dotnet ef database update

The first command creates a new migration file with the name "InitialCreate", and the second command applies the migration to the database, creating the necessary tables and relationships.

a computer screen with many different types of text on it's side, including words and numbers
a computer screen with many different types of text on it's side, including words and numbers

Using Entity Framework Core in ASP.NET Core Web API

Now that we have our project set up and the database schema in place, let's look at how to use EF Core to interact with the database in our Web API controllers.

Delivery Software API: The Future of Seamless Logistics Integration
Delivery Software API: The Future of Seamless Logistics Integration
Asp.net Core web API Tutorial: C# web API .Net Core Example
Asp.net Core web API Tutorial: C# web API .Net Core Example
ASP.NET Web API Generic CRUD Operations with EF Core and MSSQL Database
ASP.NET Web API Generic CRUD Operations with EF Core and MSSQL Database
asp net core web api ef core
asp net core web api ef core
an image of a computer screen with the text ef core feature you're not using
an image of a computer screen with the text ef core feature you're not using
ASP.NET Web API Tutorials For Beginners and Professionals
ASP.NET Web API Tutorials For Beginners and Professionals
#ASP.Net Core benefits
#ASP.Net Core benefits
choosing between web api 2 vs asp.net core web api
choosing between web api 2 vs asp.net core web api
the complete asp net core q2 2016 chat sheet
the complete asp net core q2 2016 chat sheet

First, inject the DbContext into your controllers using dependency injection:

[ApiController]
[Route("api/[controller]")]
public class ItemsController : ControllerBase
{
    private readonly ApplicationDbContext _context;

    public ItemsController(ApplicationDbContext context)
    {
        _context = context;
    }
}

Retrieving Data from the Database

With the DbContext injected, we can now query the database for data. Here's an example of a GET method that retrieves a list of items:

[HttpGet]
public async Task

Creating, Updating, and Deleting Entities

EF Core's DbSet provides extensions for creating, updating, and deleting entities. Here are examples of how to implement these operations in your Web API controllers:

  • Create: await _context.Items.AddAsync(item); await _context.SaveChangesAsync();
  • Update: _context.Update(item); await _context.SaveChangesAsync();
  • Delete: _context.Items.Remove(item); await _context.SaveChangesAsync();

Remember to return a success response to the client after performing these operations:

[HttpPost]
public async Task<ActionResult>PostItem(Item item)
{
    await _context.Items.AddAsync(item);
    await _context.SaveChangesAsync();

    return CreatedAtAction("GetItem", new { id = item.Id }, item);
}

The finalclosing paragraph: Mastering the integration of ASP.NET Core Web API and Entity Framework Core enables developers to build fast, scalable, and maintainable web APIs. As you've seen in this article, the combination of these two technologies facilitates efficient database interaction, making it a powerful choice for modern web development. Happy coding, and make sure to explore more advanced topics such as data seeding, relationships, and concurrency in EF Core to truly harness its capabilities.