update migrations migraciones habilitar framework force first ef6 commands code entity-framework ef-code-first entity-framework-6 ef-migrations

entity framework - migrations - EF aplica todas las migraciones, no solo las nuevas



update database force (1)

Estoy usando EF 6 y cuando ejecuto Update-Database , intento aplicar cada migración desde el comienzo del proyecto, aunque solo haya una migración nueva.

Si intento crear una migración vacía, aparece un error que dice que no puedo crear una nueva migración porque hay migraciones explícitas pendientes.

La única publicación de blog que encontré con un problema similar sugirió __MigrationHistory tabla __MigrationHistory y hacer Update-Database -Script , eliminando todos los cambios reales de DB pero dejando en Create __MigrationHistory y Migration Inserts . No solté la mesa, pero cambié el nombre, y esto no resolvió el problema para mí.

Esta pregunta parece un duplicado, pero cuando ejecuto el script veo que mi clave de contexto no ha cambiado, así que ese no es mi problema.

Lo que es extraño es que agregué una columna a mi modelo, y luego hice una add-migration ningún problema. Luego fui a almorzar (pero sin hacer una update-database ), luego, después del almuerzo, decidí agregar otra columna a mi modelo y, cuando lo hice, add-migration -force nuevamente, este error comenzó. He retrocedido completamente mi espacio de trabajo (eliminé completamente el espacio de trabajo y eliminé todo el código de mi máquina), pero el problema persiste.

Estoy en un entorno de equipo, pero cada uno de nosotros usa nuestras propias bases de datos de desarrollo, y he verificado que la cadena de conexión es correcta en mi archivo Migrations App.Config.

Update-Database -Script SQL Profiler durante el comando Update-Database -Script y ejecuté la siguiente consulta 24 veces antes de abandonar (12 lotes de 2):

IF db_id(N''ISEPDBContexts.AdministratorDb'') IS NOT NULL SELECT 1 ELSE SELECT Count(*) FROM sys.databases WHERE [name]=N''ISEPDBContexts.AdministratorDb''

Lo cual es extraño porque ese es el nombre de mi cadena de conexión, no el nombre de la base de datos.


Resulta que el problema fue que la consola de Package Manager no estaba mirando mi archivo de configuración, así que una búsqueda rápida y encontré que no solo debe configurar el proyecto predeterminado en PMC (lo que estaba haciendo), sino que la solución debe tener el mismo proyecto seleccionado como Startup Project. ( Crédito )