Así que estoy aprendiendo MVC3 y EF4. Probé el primer método de código, pero fue demasiado confuso para mí ... No puedo crear clases, pero la parte más difícil se presenta cuando se trata de claves externas y las relaciones entre ellas.¿Cómo sembrar datos cuando se usa el enfoque de Model First?
Pero primero me he ido con el modelo. De esta manera, puedo diseñarlo visualmente y ver dónde están las relaciones.
Después de crear mi modelo, crea un SQL que ejecuto contra mi base de datos SQL Express. Hecho y hecho.
Ahora quiero datos en mis tablas. Por supuesto, puedo agregarlos usando el explorador de servidor, pero lo más probable es que haga cambios en mi modelo a medida que avanzo. Y sigue actualizando la base de datos. Entonces no puedo seguir ingresando datos manualmente. Sé que si usa el código primero puede derivar el DropCreateDatabaseIfModelChanges
y anular el método seed
.
Sin embargo, ¿cómo hago esto con el primer modelo de enfoque? Tengo el siguiente código:
public class DatabaseInitializer : IDatabaseInitializer<BettingContext> {
public void InitializeDatabase(BettingContext context) {
var teams = new List<Team> {
new Team { Name="Toronto Maple Leafs", League="NHL"},
new Team { Name="Boston Bruins", League="NHL"},
new Team { Name="Vancouver Canucks", League="NHL"},
new Team { Name="Nashville Predators", League="NHL"},
new Team { Name="Montreal Canadiens", League="NHL"},
};
}
}
Por supuesto y en mi archivo global:
protected void Application_Start()
{
Database.SetInitializer<BettingContext>(new DatabaseInitializer());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
y ahora qué? ¿Cómo le digo que ejecute el método? ¿Qué estoy haciendo mal?
¿Funcionaría esto incluso si estoy utilizando el enfoque Model First en lugar de Code First? – masfenix
@masfenix: probablemente ... –
Esto no funciona en absoluto :( – masfenix