Sto lavorando a un progetto web usando ASP.Net 5 e EF7.
Ho importato tutte le tabelle dal database esistente sui miei modelli nel mio progetto. Tuttavia, sto avendo problemi con le migrazioni.
Ho creato la migrazione iniziale, apportato alcune modifiche a una particolare entità, creato un'altra migrazione in seguito alle modifiche apportate e ora desidero applicare le modifiche al database.
Dopo aver eseguito questo comando di seguito:
dnx ef database update [Migration]
il dnx sta provando ad applicare la migrazione "iniziale" con tutte le entità che sono già nel database e questo provoca un errore come di seguito:
{Esiste già un oggetto denominato ['EntityName'] nel database. }
Potete consigliare come eseguire la migrazione sul database esistente?
Grazie Saeed
In EF6 si eseguirà una migrazione con il flag -IgnoreChanges
e si otterrebbe un'istantanea del modello senza alcun codice Up()
. Questo manca a EF 7 (EF Core) come indicato qui.
La soluzione per ora è eliminare o commentare il codice per gli oggetti di database esistenti dal codice Up()
della migrazione e quindi dal database di aggiornamento. Le migrazioni successive includeranno quindi solo le modifiche.