Entity framework 4 如何在使用EF数据迁移时保留数据库中的旧数据

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

我认为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>();
    }
}
公共类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初始值设定项中?提供的链接已失效