2011-12-26 6 views
1

Я думал, что целью EF DataMigrations является сохранение старых данных при изменении структуры базы данных. Думаю, правильно? Но когда я обновляю базу данных с помощью миграций, все старые данные стираются.Как сохранить старые данные в базе данных при использовании EF Data Migrations

Я делаю что-то неправильно или, возможно, невозможно использовать миграцию данных в этом сценарии?

это 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()); 

это миграция Config:

internal sealed class Configuration : DbMigrationsConfiguration<CodeFirstContext> 
{ 
    public Configuration() 
    { 
     AutomaticMigrationsEnabled = false; 
    } 
} 
+0

Какие изменения в базу данных вы сделали? –

+0

Если мы что-либо изменим, все данные будут стерты. –

+0

Можете ли вы разместить свои конфигурации DbContext и Migrations? Используете ли вы автоматическую или ручную миграцию? случайно вы покинули старый ef-код, первый инициализатор db, который удаляет базу данных? – Betty

ответ

1

ли CodeFirstContextInit инициализатора удалить базу данных и создать его заново (каков его базовый класс?), обычно у меня не было бы инициализатора при использовании миграций.

1

Чтобы использовать первую миграцию данных EF 4.3 с существующей базой данных, вам необходимо создать «пустую» миграцию, чтобы создать таблицу «История миграции» и установить базовую линию.

Шаги, описанные в этой статье, должны помочь http://thedatafarm.com/data-access/using-ef-4-3-code-first-migrations-with-an-existing-database

+0

Предоставлено ссылка мертва – Alegrowin

+1

Просто обновил ссылку, надеюсь, что поможет –

 Смежные вопросы

  • Нет связанных вопросов^_^