11

Mam problem z czymś w metodzie Seed w Configure.cs dla procesu mojej pierwszej encji kodu 6 kodu jednostki. Używam polecenia Update-Database -verbose w Package Manager Console i próbuję ustawić punkty przerwania (w VS studio web express 2013) w kodzie C# metody Seed. Ale nawet jeśli umieściłem to na pierwszym wyciągu w metodzie, to nie jest trafione, chociaż konsola wyświetla running seed method (i następnie zrywa z powodu mojego błędu)Czy można ustawić punkt przerwania w metodzie pierwszej migracji kodu EF?

Czy można w jakiś sposób ustawić punkty przerwania w metodzie Seed? Jeśli nie, jaki jest najlepszy sposób debugowania tego kodu?

+1

Czy to pomoże: http://stackoverflow.com/a/26567885/1336590? Zasadniczo uruchom 'Seed' przez aplikację, a nie w konsoli PM. – Corak

+0

Zobacz ten blog: http://blogs.msdn.com/b/rickandy/archive/2013/02/12/seeding-and-debugging-entity-framework-ef-dbs.aspx – Colin

Odpowiedz

31

Nie jest możliwe bezpośrednio w kodzie źródłowym, ale można dołączyć debugger za pomocą kodu źródłowego. Proszę zobaczyć this link do szczegółów:

if (System.Diagnostics.Debugger.IsAttached == false) 
    System.Diagnostics.Debugger.Launch(); 

Inną opcją byłoby uruchomić migrację za pomocą kodu źródłowego, jak wyjaśniono powyżej:

var configuration = new Configuration(); 
var migrator = new DbMigrator(configuration); 
migrator.Update(); 
+0

Przepraszamy, ale twój link jest martwy. .. – EluciusFTW

+0

To było widok pracy kilka godzin temu ... to jest wersja z pamięci podręcznej; http://webcache.googleusercontent.com/search?q=cache:http://patrickdesjardins.com/blog/how-to-debug-entity-framework-migration-seeding&strip=1 –

+0

Oto kolejny artykuł, który znalazłem szukając to samo pytanie: http://blog.theodybrothers.com/2015/09/debugging-your-seed-method-when-running.html – CesarD

1

Update-Database kończy się sesja debugowania, więc nie można ustawić punktu przerwania. Będziesz chciał uruchomić swoją metodę Seed w innym miejscu, z poziomu kodu, np. Metodą fikcyjną, którą możesz uruchomić w aplikacji.