La mejor manera de generar datos de forma incremental en Entity Framework 4.3

He estado usando Entity Framework 4.3 en una base de datos existente y tengo un par de escenarios que estoy tratando de atender.

n primer lugar, si elimino mi base de datos, me gustaría que EF vuelva a crearla desde cero: he utilizado con éxito un inicializador de base de datos CreateDatabaseIfNotExists para esto.

n segundo lugar, si actualizo mi modelo y la base de datos ya existe, me gustaría que la base de datos se actualice automáticamente: he utilizado con éxito Migraciones de Entity Framework 4.3 para esto.

Así que aquí está mi pregunta. Digamos que agrego una nueva tabla a mi modelo que requiere algunos datos de referencia, lo cual es la mejor manera de garantizar que estos datos se creen tanto cuando se ejecuta el intialiser de la base de datos como cuando se ejecuta la migración. Mi deseo es que los datos se creen cuando estoy creando la base de datos desde cero y también cuando la base de datos se actualiza como resultado de una migración en ejecución.

En algunos ejemplos de migraciones de EF, he visto a personas usar la función SQL () en el método UP de la migración para crear datos iniciales, pero si es posible, preferiría usar el contexto para crear los datos iniciales (como puede ver en la mayoría de los ejemplos de inicializadores de bases de datos ) ya que me parece extraño que usarías sql puro cuando toda la idea de EF es abstraerlo. Intenté usar el contexto en el método UP pero, por alguna razón, no creía que existiera una tabla creada en la migración cuando intenté agregar los datos semilla directamente debajo de la llamada para crear la tabla.

Cualquier sabiduría muy apreciada.

Respuestas a la pregunta(4)

Su respuesta a la pregunta