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

CodeFirstContextInitイニシャライザーはデータベースを削除して再作成しますか(その基本クラスは何ですか?)通常、移行を使用する場合、イニシャライザーはありません。

于 2012-01-09T18:53:16.100 に答える
1

既存のデータベースで EF 4.3 Code First Data Migrations を使用するには、"空の" 移行を作成して、Migration-History テーブルを作成し、ベースラインを確立できるようにする必要があります。

この投稿で説明されている手順は、http://thedatafarm.com/data-access/using-ef-4-3-code-first-migrations-with-an-existing-databaseに役立つはずです。

于 2012-02-28T23:42:12.723 に答える