Entity framework 7, visual studio 2015, los comandos de consola no funcionan

asp.net-core-mvc c# entity-framework-core visual-studio-2015

Pregunta

Estoy usando la plantilla de aplicación web ASP.NET 5 (que usa EF7 y MVC 6), la que tiene las cuentas de usuario individuales, y tengo el siguiente problema:

Cuando agrego mi propio DBSet a la clase ApplicationDbContext y luego voy a una página que está tratando de usar este nuevo DBSet, no funciona, recibo esto:

A database operation failed while processing the request.
SqlException: Invalid object name 'WallMessageModel'. 

There are pending model changes for ApplicationDbContext
Scaffold a new migration for these changes and apply them to the database from the command line:

 dnx . ef migration add [migration name] 
 dnx . ef migration apply

Ahora cuando ejecuto estos comandos, o cualquier comando "dnx" obtengo:

A database operation failed while processing the request.
SqlException: Invalid object name 'WallMessageModel'. 

There are pending model changes for ApplicationDbContext
Scaffold a new migration for these changes and apply them to the database from the command line:

 dnx . ef migration add [migration name] 
 dnx . ef migration apply

Y si estoy intentando ejecutar cualquier comando "k", estoy obteniendo:

A database operation failed while processing the request.
SqlException: Invalid object name 'WallMessageModel'. 

There are pending model changes for ApplicationDbContext
Scaffold a new migration for these changes and apply them to the database from the command line:

 dnx . ef migration add [migration name] 
 dnx . ef migration apply

Estoy usando "EntityFramework.SqlServer": "7.0.0-beta5", "EntityFramework.Commands": "7.0.0-beta5"

Intenté usar la versión 7.0.0- * y todavía no funciona para mí. ¿Puedes decirme qué estoy haciendo mal?

Básicamente, creo que los comandos EF no están instalados correctamente en mi máquina (a través de Visual Studio 2015 / PowerShell). Sin embargo, no parece haber ninguna referencia que muestre cómo instalarlos (¿no deberían incorporarse en VS2015 cuando se usa EF7?).

Respuesta aceptada

Cuando agrega otro DbSet a su clase ApplicationDbContext o agrega / modifica cualquier otra clase de entidad existente, su modelo de tiempo de ejecución cambia del modelo de base de datos. Por lo tanto, necesita crear una nueva migración y aplicarla a la base de datos para que ambos modelos estén sincronizados entre sí. Como sugiere el mensaje de excepción, debe ejecutar esos comandos para hacerlo.

Para aquellos comandos (o cualquier otro comando dnx) que no se estén ejecutando, los comandos dnx no están integrados en VS2015. Vienen de Microsoft ASP.NET y la extensión Web Tools para Visual Studio. Por favor verifica que lo tengas instalado para tu VS. Eso te permitirá ejecutar comandos dnx. k es un término muy antiguo y se le cambió el nombre a dnx . También beta5 es una versión antigua, la última versión es RC1, que tiene muchas más características. La información detallada sobre cómo instalar y usar las Herramientas Web está disponible en https://get.asp.net/




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é