Похоже, CodeFirst перестает выполнять свою домашнюю работу, когда у него нет полного контроля над базой данных (я полагаю).
Сценарий - это веб-сайт, размещенный на Arvixe.com (или, я полагаю, на любом другом сервере общего хостинга), где мне приходится создавать базы данных только из их панели управления (а НЕ с помощью Sql Server Management Studio, просто чтобы сказать ...).
Создав пустую базу данных, я регистрирую соединение на веб-сайте и использую его для создания базы данных из объектов poco, например:
add -igration m1 -targetdatabase myconnection
Это правильно генерирует мой ПЕРВЫЙ переход, который я могу применить без проблем с
update-database -targetdatabase myconnection
Первая проблема, не слишком важная, заключается в том, что, поскольку база данных существует, она НЕ будет выдавать команду Seed, поэтому мне приходится вставлять свои первые записи вручную, но это не большая проблема.
Затем я меняю свои объекты poco, и мне нужно обновить базу данных, но когда я выдаю ДРУГОЙ
add -igration m2 -targetdatabase myconnection
выдает ошибку:
System.Data.Entity.Migrations.MigrationsPendingException: не удалось сгенерировать явную миграцию, поскольку ожидаются следующие явные миграции: [201111081426466_m1]. Примените ожидающие явные миграции, прежде чем пытаться создать новую явную миграцию.
Это действительно странно, так как, если я посмотрю на базу данных, я смогу увидеть даже таблицу __MigrationHistory, но тогда, похоже, она не сможет ее распознать ...
Кто-нибудь с той же проблемой, или какой-нибудь хороший совет, где расследовать?
Заранее спасибо,
Андреа Биоли