Entity framework 4 如何在使用EF数据迁移时保留数据库中的旧数据
我认为EF DataMigrations的目的是在更改数据库结构的同时保留旧数据。我认为对吗?但是当我用迁移更新数据库时,所有的旧数据都被删除了 我是否犯了错误,或者在这种情况下不可能使用数据迁移 这是DbContext:Entity framework 4 如何在使用EF数据迁移时保留数据库中的旧数据,entity-framework-4,data-migration,entity-framework-migrations,Entity Framework 4,Data Migration,Entity Framework Migrations,我认为EF DataMigrations的目的是在更改数据库结构的同时保留旧数据。我认为对吗?但是当我用迁移更新数据库时,所有的旧数据都被删除了 我是否犯了错误,或者在这种情况下不可能使用数据迁移 这是DbContext: public class CodeFirstContext : DbContext { public CodeFirstContext() : base ("ZenRandevuIzle") { } public DbSet<Us
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>();
}
}
公共类CodeFirstContext:DbContext
{
public CodeFirstContext():base(“ZenRandevuIzle”)
{
}
公共数据库集用户{get;set;}
公共数据库集角色{get;set;}
公共DbSet Takvims{get;set;}
公共DbSet Musteris{get;set;}
公共DbSet Randevus{get;set;}
公共数据库集seanstrus{get;set;}
公共DbSet-Hizmets{get;set;}
公共DbSet Islems{get;set;}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove();
}
}
这是Global.asax:
Database.SetInitializer<CodeFirstContext>(new CodeFirstContextInit());
Database.SetInitializer(新的CodeFirstContextInit());
这是迁移配置:
internal sealed class Configuration : DbMigrationsConfiguration<CodeFirstContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
}
内部密封类配置:dbmigtorinsconfiguration
{
公共配置()
{
AutomaticMiggerationsEnabled=假;
}
}
CodeFirstContextInit初始化器是否会删除数据库并重新创建它(它的基类是什么?)通常在使用迁移时,我不会使用初始化器。要对现有数据库使用EF 4.3 code First数据迁移,您需要创建一个“空的”迁移,以便创建迁移历史记录表并建立基线
这篇文章中概述的步骤应该有助于您对数据库做了哪些更改?如果我们做了任何更改,所有数据都将被删除。您可以发布您的DbContext和迁移配置吗?您使用的是自动迁移还是手动迁移?您是否意外地将旧的ef代码保留在删除数据库的第一个db初始值设定项中?提供的链接已失效