首页 > 代码库 > ASP.NET MVC 4下 Code First 数据库迁移
ASP.NET MVC 4下 Code First 数据库迁移
一.命令开启
1.打开控制台:视图->其他窗口->程序包管理器控制台;
2.启动数据库迁移,执行命令:enable-migrations
创建成功后会新增migrations目录等。
若报如下错误:
PM> Enable-Migrations
More than one context type was found in the assembly ‘FirstMVC‘.
To enable migrations for FirstMVC.Models.UsersContext, use Enable-Migrations -ContextTypeName FirstMVC.Models.UsersContext.
To enable migrations for FirstMVC.Models.FirstMVCContext, use Enable-Migrations -ContextTypeName FirstMVC.Models.FirstMVCContext.
则要指定具体一个数据上下文类。
本人只有一个数据库,可以不用输入。
3.运行数据库迁移
启动数据库迁移设置成功后,对Model 结构的修改,需要手动创建数据库迁移。
**以后每次对Model接口的修改操作,都执行如下2个命令即可。**
命令如下:
(1).Add-migration [自定义版本名称]
(2).update-database
PM> add-migration updateorderheader
正在为迁移“updateorderheader”搭建基架。
此迁移文件的设计器代码包含当前 Code First 模型的快照。在下一次搭建迁移基架时,将使用此快照计算对模型的更改。如果对要包含在此迁移中的模型进行其他更改,则您可通过再次运行“Add-Migration 201407020938316_updateorderheader”重新搭建基架。
PM> update-database
指定“-Verbose”标记以查看应用于目标数据库的 SQL 语句。
正在应用基于代码的迁移: [201407020938316_updateorderheader]。
正在应用基于代码的迁移: 201407020938316_updateorderheader。
正在运行 Seed 方法。
PM>
4.修改代码配置
以上步骤执行完成后,
(1).在生成的目录文件中 Migrations/Configuration.cs
将 AutomaticMigrationsEnabled = false; 修改为 AutomaticMigrationsEnabled = true;
(2).在项目Global.asax的Application_Start中加上如下代码行:
System.Data.Entity.Database.SetInitializer(new System.Data.Entity.MigrateDatabaseToLatestVersion<FirstMVC.Models.FirstMVCContext,Migrations.Configuration>());
注释:FirstMVC.Models.FirstMVCContext 为创建的数据上下文类。
Migrations.Configuration 为成功执行Enable-Migrations命令后生成的文件类。
OK了,以后每次修改Model后只需要执行以上第3步的2个命令即可。
ASP.NET MVC 4下 Code First 数据库迁移