Ejecución de la migración de base de datos DNX (EF7) en Azure

asp.net azure database-migration dnx entity-framework-core

Pregunta

He estado ejecutando un proyecto MVC con ASP.NET 4.6 y EF7 localmente y todo funciona bien. Corrí el dnx. ef migración Comandos iniciales para crear las tablas de la base de datos, y todo funcionó bien. La aplicación funciona.

Con Azure tengo un problema, parece que no puedo ejecutar el dnx. comando de migración ef por lo que mi base de datos SQL está vacía. He depurado Startup.cs y la cadena de conexión se recupera correctamente, pero las tablas no están allí.

Utilicé la opción Publicar en Visual Studio 2015 para implementarla en mi aplicación web de Azure.

¿Cómo puedo ejecutar este comando en mi aplicación web? ¿Hay otra forma de generar la base de datos?

Gracias

Respuesta aceptada

Parece que el equipo de EF ha eliminado los infames inicializadores de bases de datos y ofrece un método más versátil para eso en la versión 7.

Simplemente use estos métodos en la tubería antes de cualquier llamada a la base de datos,

yourDbContext.Database.EnsureCreated();

para crear la base de datos en caso de que no exista y

yourDbContext.Database.EnsureCreated();

para aplicar migraciones (si usas esta característica más adelante). Los dos métodos anteriores también tienen una versión asíncrona.

En mi solución, he creado una clase estática que utilizo para inicializar la base de datos y sembrarla con algunos datos. Llamo al método Seed desde el método Configure en la clase de inicio cuando se cumple alguna condición.




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué