entity-framework-6 - totalmente - restaurar paquetes nuget visual studio 2012
¿Es posible ejecutar un método de siembra personalizado desde la consola del administrador de paquetes? (1)
Cuando ejecuta Update-Database en la consola del administrador de paquetes, ejecuta un proceso de inicialización. ¿Es posible ejecutar un comando diferente para ejecutar algún otro comando de siembra?
Algo como:
Seed-Test-Data
Lo cual generaría algunos datos de prueba en una base de datos local de desarrolladores.
No quiero ejecutar este comando en el método de inicialización normal porque eso se ejecutaría en la base de datos de producción cuando se ejecutaran las migraciones.
Solo use la semilla regular, pero verifique qué servidor está usando el contexto y actúe en consecuencia. Ya sea en blanco, enumere las bases de datos de desarrollo o la lista negra de los servidores de producto:
internal sealed class Configuration : DbMigrationsConfiguration<ApplicationDbContext>
{
protected override void Seed(ApplicationDbContext context)
{
if (context.Database.Connection.DataSource != "ProductionServer")
{
if (!context.MyTable.Any()) // If table is empty, seed it...
{
context.MyTable.AddOrUpdate(
p => p.ID,
new MyTable{ ID = 1, FullName = "Mary Peters" },
new MyTable{ ID = 2, FullName = "Mike Lambson" },
new MyTable{ ID = 3, FullName = "Steve Miller" }
);
}
}
...
}
}
También puede agregar una configuración para verificar el entorno en su web.config:
if (ConfigurationManager.AppSettings["Environment"] == "DEV")
{
...
}