1

我在想 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;
    }
}
4

2 回答 2

1

要将 EF 4.3 Code First 数据迁移与现有数据库一起使用,您需要创建一个“空”迁移,以便创建 Migration-History 表并建立基线。

这篇文章中概述的步骤应该有助于http://thedatafarm.com/data-access/using-ef-4-3-code-first-migrations-with-an-existing-database

于 2012-02-28T23:42:12.723 回答
1

CodeFirstContextInit 初始化程序是否删除数据库并重新创建它(它的基类是什么?)通常在使用迁移时我不会有初始化程序。

于 2012-01-09T18:53:16.100 回答