Tech Junkie Blog - Real World Tutorials, Happy Coding!: Hour 13 ASP.NET Core : Add NorthwindContext To Startup Class And Create Database

Thursday, August 22, 2019

Hour 13 ASP.NET Core : Add NorthwindContext To Startup Class And Create Database

In this post will are going to finally create the database that we have been preparing for in the last previous blog posts.  It's a two step process, first you have to add the NorthwindContext to the application in the Startup class, then you have to run the Entity Framework migration tool.

Here are the steps to create your NorthwindCafe database:

1.  Open the Startup.cs file, then type the following lines in the ConfigureServices method
 
            var connectionString = Configuration["Data:NorthwindContextConnection"];

            services.AddDbContext<NorthwindContext>(options => options.UseSqlServer(connectionString));

The line above gets the connection string from the appSettings.json file that we've created earlier. Then use the AddDbContext method in the services instance.  Dependency injection will take care of the plumbing for you.  Using lamba expression we tell the Entity Framework to use the Sql Sever provider for Entity Framework core.

Make sure you have the following namespaces in your Startup class

using NorthwindCafe.Web.Models;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.EntityFrameworkCore;




2.  Now we can run the dotnet ef tools in the command line, make sure you are at the location of the NorthwindCafe.Web project.  Also before you run the tool in command line, make sure you build the solution first.


3.  In the command line type dotnet ef migrations add InitialDatabase your screen should look like below












4.  Now you have to run another command to actually create the database  type dotnet ef database update to create the NorthwindCafe database in SQL Server







The first command dotnet ef migrations add InitialDatabase creates two files in the "Migrations" folder in the NorthwindCafe.Web project.  These files contains the codes for creating the database and any other subsequent migrations that you will run in the future.  Everytime you run a migration a snapshot is created with the NorthwindContextModelSnapshot
























The second dotnet ef database update command uses the migration script in Visual Studio to update the database.  After you run this command you will see that the NorthwindCafe database has been created.  The amazing thing is that the foreign key constraint has been added for us, because we used the virtual keyword to define our property in our models in this post.






























No comments:

Post a Comment

Search This Blog