【发布时间】:2011-12-26 09:47:42
【问题描述】:
我在想 EF DataMigrations 的目的是在更改数据库结构的同时保留旧数据。我觉得对吗?但是当我使用迁移更新数据库时,所有旧数据都会被删除。
我是不是做错了什么,或者在这种情况下无法使用数据迁移?
这是 DbContext:
public class CodeFirstContext : DbContext
{
public CodeFirstContext() : base ("ZenRandevuIzle")
{
}
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<Takvim> Takvims { get; set; }
public DbSet<Musteri> Musteris { get; set; }
public DbSet<Randevu> Randevus { get; set; }
public DbSet<SeansTuru> SeansTurus { get; set; }
public DbSet<Hizmet> Hizmets { get; set; }
public DbSet<Islem> Islems { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
}
}
这是 Global.asax:
Database.SetInitializer<CodeFirstContext>(new CodeFirstContextInit());
这是迁移配置:
internal sealed class Configuration : DbMigrationsConfiguration<CodeFirstContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
}
【问题讨论】:
-
您对数据库做了哪些更改?
-
如果我们更改任何内容,所有数据都会被删除。
-
您能发布您的 DbContext 和迁移配置吗?您使用的是自动迁移还是手动迁移?您是否不小心将旧的 ef 代码保留在删除数据库的第一个 db 初始化程序中?
标签: entity-framework-4 data-migration entity-framework-migrations