This post is about working with Database First approach in Entity Framework Core. This approach is useful in scenario where we already got a Database and we need to generate model and db context classes.
So for the demo purposes I am using an class library project and an ASP.NET Core Web API project, and I am using
WideWorldImporters database from SQL Server.
So first I created a solution file, the web api project and finally a class library project. And I added the web api and class library projects to the solution. And added the reference of class library to the api project. I am using .NET CLI tools to do this. Here are the commands I executed.
Next to scaffold the entities and database context we need add two nuget packages (
Microsoft.EntityFrameworkCore.SqlServer) to the class library.
Now we are ready to execute the scaffold command - which will generate model classes and database context. We are using the
dotnet ef tool for scaffolding. If you’re not installed the EF Core tool, you need to install it. Here is the command using the
dotnet ef tool.
Here is the command execution
Once the command executed you will be able to see the entities and database context classes as part of the class library project. Right now the Database context file contains the connection string inside the
We need to remove the code since we are using this library in the ASP.NET Web API. Next we need to modify the web api project and add reference of
Microsoft.EntityFrameworkCore.SqlServer. Once it is done, we need to modify the
program.cs file like this.
Now we can access and use the
WideWorldImportersContext in the controller constructor.
Happy Programming :)