При изменении модели и контекста в VisualStudio при старте приложения у нас могут возникать ошибки, чтобы этого избежать, нам нужно проделать следующее
Tools -> NugetPackageManager – > PackageManagerConsole
И далее последовательно выполнить 3 инструкции
1 2 3 |
PM> Enable-Migrations -ContextTypeName modelsTraining2.Models.UserContext PM> Add-Migration "MigrateDB" PM> Update-Database |
После выполнения второй у нас создастся папка Migrations класс Configuraiton
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
namespace MigrationApp.Migrations { using System; using System.Data.Entity; using System.Data.Entity.Migrations; using System.Linq; internal sealed class Configuration : DbMigrationsConfiguration<MigrationApp.Models.UserContext> { public Configuration() { AutomaticMigrationsEnabled = false; ContextKey = "MigrationApp.Models.UserContext"; } protected override void Seed(MigrationApp.Models.UserContext context) { } } } |
Далее класс MigrateDB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
namespace MigrationApp.Migrations { using System; using System.Data.Entity.Migrations; public partial class MigrateDB : DbMigration { public override void Up() { CreateTable( "dbo.Companies", c => new { Id = c.Int(nullable: false, identity: true), Name = c.String(), }) .PrimaryKey(t => t.Id); AddColumn("dbo.Users", "Age", c => c.Int(nullable: false)); } public override void Down() { DropColumn("dbo.Users", "Age"); DropTable("dbo.Companies"); } } } |
Его мы можем отредактировать по мере необходимости