使用 Code First Migrations 来更新数据库(方法二)
转到方法一(手动迁移)
工具:VS2019
概要
数据库名称:MovieText(已创建)
操作:在原有数据库中,新增字段Rating(原有数据还在)
相关代码:
1、
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
2、
System.Data.Entity.Database.SetInitializer(
new System.Data.Entity.MigrateDatabaseToLatestVersion<WebApplication1.Models.MovieDBContext,
Migrations.Configuration>());
打开程序包管理器控制台
工具–>NuGet包管理器–>程序包管理器控制台
在程序包管理器控制台窗口,在提示符 PM> 后输入
Enable-Migrations -ContextTypeName MvcMovie.Models.MovieDBContext
其中MvcMovie.Models.MovieDBContext代表的是"命名空间.数据库上下文"
回车执行。
执行完毕后,在解决方案资源管理器中会自动创建一个Migrations文件夹,它将储存我们的变更记录。
修改Migrations文件夹下的Configuration.cs
在构造函数Configuration()中添加以下代码
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
如图
在Global.asax的Application_Start()方法下添加如下代码
System.Data.Entity.Database.SetInitializer(
new System.Data.Entity.MigrateDatabaseToLatestVersion<WebApplication1.Models.MovieDBContext,
Migrations.Configuration>());
如图
在Model中添加Rating字段
现在可以修改数据库了,在MovieText中新增属性Rating
重新生成并运行项目就可以成功修改数据库。
执行前:
执行后:
End