Over a million developers have joined DZone.

How to Use Migration With Entity Framework Core

Learn how to utilize the migrations of Entity Framework Core RC2, complete with screen shots and code, from Jalpesh Vadgama.

· Database Zone

Sign up for the Couchbase Community Newsletter to stay ahead of the curve on the latest NoSQL news, events, and webinars. Brought to you in partnership with Coucbase.

Entity framework core is the lightweight, extensible, and cross-platform version of Entity Framework. After some time, Microsoft had released a new version of Entity Framework RC2. I have written a couple of blog posts about Entity framework code first migration (earlier for Entity framework 6.0). So there was a couple of requests coming for me to write a blog post about Entity Framework Core RC2 migration. So I thought it would be a good idea to give an overview how database migration works in Entity Framework Core RC2. This post will cover a basic scenario where we are going to create the database with existing ASP.NET Identity migration and then we are going to create a new model and have that migration applied in the database.

How to Use Entity Framework Migrations

Let’s get started. To demonstrate entity framework core migrations, I am going to create a sample asp.net core web application like following.


Once we select asp.net core application, it will appear the following dialog.


Now create a sample application. It will basically create a boilerplate code for the asp.net identity and as a part of that it is going to create entity framework migration files under Data –> Migrations folder.


Here you can find that sample code in GitHub repository given at the bottom. Now we already asp.net identity migration code ready. So let’s have those migrations applied with the following command from NuGet package manager console.



Now let’s add a new model “Employee” like the following:

        publicintEmployeeId { get; set; }
        publicstringFirstName { get; set; }
        publicstringLastName { get; set; }    }}

As we have employee class, we need to add migration for that. I’m going to create a migration for employee class via the following command.

add-migration AddEmployee


It will create “AddEmployee” migration class in Data->Migrations folder.


And here is the code for the migration for the same.

    publicpartialclassAddEmployee : Migration    {        
        protectedoverridevoidUp(MigrationBuilder migrationBuilder)        {   
            migrationBuilder.CreateTable(name: "Employees", columns: table => new{
                EmployeeId = table.Column<int>(nullable: false).Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
                FirstName = table.Column<string>(nullable: true), LastName = table.Column<string>(nullable: true)},
            constraints: table => {
                table.PrimaryKey("PK_Employees", x => x.EmployeeId);
        protectedoverridevoidDown(MigrationBuilder migrationBuilder){
            migrationBuilder.DropTable(name: "Employees");

Now we have our migration class ready, so I am going to run the update-database command as following:


Now let’s check the database again. You can see employee table is there.


That’s it. It’s very easy. Hope you like it. Stay tuned for more.

The Getting Started with NoSQL Guide will get you hands-on with NoSQL in minutes with no coding needed. Brought to you in partnership with Couchbase.

wordpress theme frameworks ,how to implement ,how to look taller ,how to bypass linux authentication ,orm ,entityframework

Published at DZone with permission of Jalpesh Vadgama, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}