2013-08-27 24 views
15

qualcuno sa come si può effettuare un seeding di un aggiornamento specifico utilizzando le migrazioni EF 5? Ho un database esistente, alredy ha popolato le ricerche e sto sviluppando alcune funzionalità di Audit. Ho creato un'entità AuditType e Audit. Quando chiamo update-database, non voglio tutti i miei dati seme da quando ho creato il database per essere aggiunto nuovamente. Devo semplicemente eliminare manualmente i dati seme esistenti o posso fare qualcosa come nominare un Configuration.cs con il datetime simile a ciò che viene creato quando chiamo add-migration?Entity framework migration e seeding update specifico

Grazie

risposta

30

È possibile eseguire una migrazione specifica specificando il nome della migrazione. Ad esempio, se si dispone di una migrazione chiamato MyTuesdayMigration.cs, Nella console di gestione dei pacchetti, si dovrebbe eseguire questo comando:

update-database -TargetMigration MyTuesdayMigration 
+0

Ciao Greg, Quindi inserirai le tue istruzioni di "seeding" relative a quel particolare aggiornamento/aggiornamento nel metodo "Su" nel tuo "MyTuedayMigration", invece di usare il metodo "seed" nella Configurazione. cs che, se ho impostato correttamente tutto, risiede al livello della cartella Migrations e non in Migrations-> MyTuesdayMigration ?? – CheGuevarasBeret

+0

Sì, posizionarlo nel metodo su. Nel tuo caso non vuoi che il tuo metodo seed inserisca i dati (se la mia comprensione è corretta). Non c'è niente di speciale nel metodo up. Puoi eseguirlo quando vuoi. – Greg

0

potrebbe essere necessario cancellare i dati in modo che si dovrebbe usare -fore update-banca dati -TargetMigration MigrationName -force