2011-01-16 6 views
13

Observé un screencast de MSDN BLOG que habla sobre la migración de la base de datos.Acerca de la evolución de la base de datos de Code First (también conocido como Migrations)

¿Alguien sabe cuándo podemos usar esta función? Parece que todavía no funciona en CTP5.

Por cierto, ¿hay alguna forma de inicializar los datos iniciales después de que cambie el código del esquema?

Esto es lo que estoy haciendo en este momento, borra todos los datos cada vez que modifiqué el modelo.

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

te votaré solo para que no tengas más reputación de '666' ... eso no puede ser bueno;) –

Respuesta

10

Lo más probable es obtener esta característica de migración en la versión RTM que se apunta para el primer trimestre de 2011.

Para rellenar la base de datos con algunos datos iniciales puede crear su propia base de datos de inicialización y que herede de su estrategia deseada (en este momento tenemos 2 opciones) y luego a sobreescribir Semilla método en su interior:

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

¡Gracias, hombre! ¡Estoy esperando esta función de migración! – user469652

+0

Morteza, ¿qué ensamblaje es DropCreateDatabaseIfModelChanges in? Intento seguir el tutorial de ASP.Net sobre cómo crear Music Store y están usando la misma llamada y recibo una excepción: – Keith

+0

Ooops, disculpa, pregunta estúpida. (System.Data.Entity) :) – Keith

0

EF 4.1 Release Candidate ha sido publicado en marzo y se parece a esta migración función aún no incluida

Cuestiones relacionadas