2012-11-07 5 views
12

Używam konsoli menedżera pakietów, aby dodać migracje do mojej bazy danych i z jakiegoś powodu po prostu zawiesza się i nic nie robi. Jedynym sposobem na zatrzymanie go i kontynuowanie jego używania jest zamknięcie programu Visual Studio przy użyciu Menedżera zadań. Czy to znany problem?Konsola menedżera pakietów ulega awarii podczas korzystania z Add-Migration

+0

3 odsłon mój plik kontekstu i bez odpowiedzi. Morał z historii: nie korzystaj z najbardziej aktualnych rzeczy, które zostały wydane. :-) –

Odpowiedz

6

Nie jestem pewien, czy jest to znany problem, ale miałem ten sam problem i znalazłem rozwiązanie tego problemu.

musiałem uruchomić:

Enable-Migrations -ContextTypeName MyContext -ProjectName MyProject.Framework -StartUpProjectName MyProject.Web 

Gdzie ja określone: ​​

  • -ContextTypeName jako nazwa mojego kontekście
  • -ProjectName w projekcie, które odbyło się mój plik Context
  • -StartUpProjectName jako projekt, który posiadał aplikację internetową.

Można odwoływać się do tego zasobu uzyskać więcej informacji: http://coding.abel.nu/2012/03/ef-migrations-command-reference/

0

podstawie Sean Keating's answer, czy to rozwiązało „Enable-Migracje” problem, trzeba wiedzieć, że to może nie wystarczyć.

Add-Migration

Aby utworzyć nowy skrypt migracji, robisz to jak byś go normalnie:

Add-Migration MyModifications 

Update Database

Aby zaktualizować bazę danych musisz jednak określić projekt kontekstu:

Update-Database -ProjectName MyProject.Framework 

Gdzie ja określone: ​​

  • -ProjectName w projekcie, które odbyło się tylko
+0

@downvoter: Dlaczego? Wiedząc, że musisz także określić projekt, kiedy aktualizujesz bazę danych, jest to bardzo ważne. – Maxime

+1

Chciałbym, aby ludzie dodali komentarz, kiedy będą głosować. To może być pomocne. Wcześniej głosowałem na to, ponieważ dodanie opcji -ProjectName faktycznie pozwoliło mojej bazie danych aktualizacji na poprawne działanie. Wcześniej właśnie używałem --StartupProjectName. To działało dobrze, tworząc migrację, ale baza danych aktualizacji uległa awarii. Uwaga: Mam wiele projektów startowych. –

+0

Wiem, że minęło trochę czasu, ale podejrzewam, że powodem tego jest to, że druga odpowiedź zawiera już szczegóły dotyczące opcji ProjectName. Ta odpowiedź niczego nie dodaje. – aboveyou00