2011-01-16 8 views
13

Ho visto uno screencast da MSDN BLOG che parla della migrazione del database.Informazioni su Codice Primo Database Evolution (ovvero Migrazioni)

C'è qualcuno che sa quando possiamo usare questa funzione? Sembra che non funzioni ancora in CTP5.

A proposito, c'è un modo per inizializzare i dati iniziali dopo aver modificato il codice dello schema?

Questo è quello che sto facendo in questo momento, cancella tutti i dati ogni volta che ho modificato il modello.

DbDatabase.SetInitializer<Context>(
    new DropCreateDatabaseIfModelChanges<Context>()); 
+5

ti voterò solo per non avere più "666" come la tua reputazione .... che non può essere buono;) –

risposta

10

Hanno più probabile ottenere questa funzionalità di migrazione nella versione RTM che si rivolge per il primo trimestre del 2011.

Per popolare database con alcuni dati iniziali è possibile creare il proprio database di inizializzazione e lo hanno ereditato dalla vostra strategia desiderata (in questo momento abbiamo 2 opzioni) e poi sovrascrivere Seed metodo all'interno di esso:

public class MyInitializer : DropCreateDatabaseIfModelChanges<MyContext> 
{ 
    protected override void Seed(InheritanceMappingContext context) 
    {   
     MyEntity entity = new MyEntity() 
     { 
      ... 
     }; 
     context.MyEntities.Add(entity); 
     context.SaveChanges(); 
    } 
} 
+0

Grazie, amico! Non vedo l'ora di questa funzionalità di migrazione !!! – user469652

+0

Morteza, quale assembly è DropCreateDatabaseIfModelChanges in? Sto cercando di seguire il tutorial di ASP.Net sulla creazione del Music Store e stanno usando la stessa chiamata e ottengo un'eccezione: – Keith

+0

Ooops, scusa, domanda stupida. (System.Data.Entity) :) – Keith

0

EF 4.1 Release Candidate è stato emesso nel marzo e si presenta come questa migrazione la funzione non è ancora inclusa

Problemi correlati