Code First Approach with Entity Framework

 1) To begin with the Code First Approach we need the below Nuget packages in our Project.

  • Microsoft.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.SqlServer
  • Microsoft.EntityFrameworkCore.Tools
  • Microsoft.EntityFrameworkCore.Design
One can easily install the above packages with the nuget package manager or its command line tool.
Once installed you will get the below packages stacked in the installed window of nuget package manager

Nuget Package Manager

2) After Nuget Package installation we can set up the connection string and our POCO entity classes.
  • We can set our connection to DB in appsettings.json file as below Snap Shot.
    Connection String

  • Now it's time to setup the DbContext class. You can create one normal class inheriting the DbContext class as below
    DbContext Class

  • As the above Screenshot, we have declared one Normal Class inheriting the DbContext class, which has an empty constructor where we need to send DBContextOptions to the base class.
  • Below that we can declare our DbSets for required entity classes and have Default data that need to be added on Model creation.
  • Now create the Entity class as below Screen Shot.
    Entity POCO Class

  • After the above code activity, we can add DbContext Service to the Program.cs Basically it is a dependency configuration for the DbContext Class.
    EntityDbContext Dependency Middleware

3) Once all the above steps are done we are ready to initiate the DB migration. To add Migration execute the below commands in the Package Manager Console sequentially to generate Migration and Updating the database.
  • Add-Migration Initial_Migration
  • Update-Database
The First command will generate the Migration and data configuration for our POCO class and after it and be moved to the database side with the second command.
Whenever we add any new entity or data items we need to follow the above commands to move the entities(for creating tables and their relations.) on the database side.

This is how the code-first approach is used for the generating database and its table entities.
Get this Project Code on Github.

Comments

Popular posts from this blog

Getting Ready for Python Development on Ubuntu using VSCode

Designing Model class with validation in ASP.NET MVC