您的位置:首页 > 其它

EF--code first数据迁移命令

2016-08-04 09:10 393 查看

原文推荐!点我点我!

添加Migrations文件夹,并生成类文件Configuration.cs

PM> Enable-Migrations -EnableAutomaticMigrations

在Migrations文件夹中新增类文件201309201556388_InitialCreate.cs

Add-Migration InitialCreate   //后面的名字是随便写的

执行结果生成与上面一致的数据库

Update-Database -Verbose

数据库模型中添加City类,执行程序包管理器控制台语句,Migrations文件夹中新增类文件201309201643300_AddCity.cs

Add-Migration AddCity       //后面的名字是随便写的

执行程序包管理器控制台语句,进行数据库版本回溯

Update-Database –TargetMigration:"201309201643300_AddCity"

生成数据库版本之间的Sql脚本

Update-Database -Script-SourceMigration:"201309201643300_AddCity" -TargetMigration:"201309201708043_ModifyCity"

执行Sql脚本

Update-Database -Script

Enable-Migrations指定项目名称

Enable-Migrations -StartUpProjectName Portal

MigrateDatabaseToLatestVersion:将Entity的修改同步到数据库

下面的代码的原文地址

public class StyleContext:DbContext
{
public StyleContext() : base("name=WMSAidDB")
{
//自动创建表,如果Entity有改到就更新到表结构
Database.SetInitializer<StyleContext>(new MigrateDatabaseToLatestVersion<StyleContext, ReportingDbMigrationsConfiguration>());
}

public DbSet<StyleDetail> StyleDetails { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{

}

}

internal sealed class ReportingDbMigrationsConfiguration : DbMigrationsConfiguration<StyleContext>
{
public ReportingDbMigrationsConfiguration()
{
AutomaticMigrationsEnabled = true;//任何Model Class的修改將會直接更新DB
AutomaticMigrationDataLossAllowed = true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: