原文推荐!点我点我!
添加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; } }
来源:https://www.cnblogs.com/weloveshare/p/5735347.html