2015-02-26 3 views

risposta

51

Se avete solo bisogno di correre Seed() di nuovo, e nulla è cambiato, che causerebbe una nuova migrazione da aggiungere, basta chiamare Update-Database di nuovo con bandiere e dirà 'Non ci sono le migrazioni in corso', ed eseguire Seed() di nuovo per voi . Seed() viene chiamato ogni volta che il DB viene aggiornato, indipendentemente dal fatto che ci siano nuove migrazioni o meno.

+0

wow, che era sciocco. Non so come mi sia mancato. – Jhayes2118

+0

Questo non sembra funzionare è una migrazione Down() tramite 'Update-Database -TargetMigration foo'. Sai di come Seed() potrebbe essere eseguito manualmente in quel caso? – twm

+0

@twm Ho appena visto questo: sentiti libero di fare una domanda separata e posso spiegare di più, ma 'Seed' non viene chiamato durante una migrazione verso il basso, solo su. Puoi comunque prendere un riferimento al contesto all'interno di una migrazione e fare ciò che vuoi con esso. – DrewJordan