Parece que CodeFirst deja de hacer sus deberes cuando no tiene el control total de la base de datos (supongo). El escenario es un sitio web alojado en Arvixe.com (o supongo que cualquier otro servidor de alojamiento compartido), donde tengo que crear bases de datos solo desde su panel de control (y NO con Sql Server Management Studio, solo para decir ...) . Una vez creado una base de datos vacía, se registra una conexión en el sitio web, y lo uso para generar la base de datos de objetos Poco como en:add-migration no funciona con bases de datos remotas del servidor SQL en el alojamiento compartido
complemento migración m1 -TargetDatabase MyConnection
Esto genera correctamente mi primera migración , que pueda aplicar sin problemas con
actualización de base de datos -TargetDatabase MyConnection
la primera preocupación, no es demasiado importante, es que desde la base de datos existente, no emitirá el comando de la semilla, así que tengo que inserte mis primeros registros a mano, pero esto es no es un gran problema
Luego de que cambie de objetos POCO, y es necesario que actualice la base de datos, pero cuando se emite otro
complemento migración m2 -TargetDatabase MyConnection
se da el error:
sistema. Data.Entity.Migrations.MigrationsPendingException: no se puede generar una migración explícita porque están pendientes las siguientes migraciones explícitas: [201111081426466_m1]. Aplique las migraciones explícitas pendientes antes de intentar generar una nueva migración explícita.
Esto es realmente extraño, ya que si miro a la base de datos, puedo ver incluso el __MigrationHistory mesa, pero entonces parece que no puede reconocerlo ...
Cualquier persona con el mismo problema, o alguna buena consejo a dónde investigar? Gracias de antemano, Andrea Bioli
Ok, justo en el minuto después de la publicación, me di cuenta de que la tabla __MigrationHistory NO se crea como una tabla del sistema ... por lo que es obvio que la segunda vez, no puede encontrarla ... así que el problema parece ser ser el derecho de escribir la mesa en el lugar correcto ... – Andrea