2014-05-20 16 views
5

W końcu udało nam się pozbyć problemów, abyśmy mogli zacząć używać kodu jako pierwszego.Czy mogę używać Code First Migration bez zrewolucjonizowanych nazw tabel?

Po uruchomieniu "Enable-Migrations" tworzy plik z InitialCreate w jego nazwie.
(jak tutaj: http://msdn.microsoft.com/en-us/data/jj591621.aspx#enabling)

Ten plik ma wiele nazw tabel bazy danych zamiast pojedynczej.

mam ten wiersz w moim initiazlizer, co jest poprawne:

modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 

ale plik, który jest utworzony z migracją ma wszystkie nazwy liczbę mnogą.

To staje się denerwujące, gdy dodaję migrację, a pierwszą rzeczą, którą robi, jest upuszczenie każdej tabeli w DB i ponowne dodanie ich jako liczby pojedynczej.

Czy mogę przekazać parametr do polecenia "Włącz Migracje" lub coś, co nakazuje, aby nie było ono pluralizowane?

Odpowiedz

3

To zachowanie zostało naprawione, nie mogę odtworzyć go z EF 6.1.0. Stworzyłem bazę danych najpierw za pomocą inicjalizatora, a następnie uruchomiłem Enable-Migrations (oczywiście OnModelCreating() zawiera już linię usuwającą PluralizingTableNameConvention). Wygenerowana migracja (z InitialCreate w nazwie) generuje tabele o nazwie w liczbie pojedynczej. Jeśli więc będziesz w stanie zaktualizować EF, twój problem zniknie.

Jeśli nie: czy starałeś się zastąpić nazwy tabel za pomocą ich pojedynczej formy, używając atrybutu Table? Co najmniej wygenerowany kod migracyjny go respektuje (nie sprawdziłem przy starszej wersji EF niż 6.1.0).

[Table("MyEntity")] 
public class MyEntity 
{ 
    // .. your properties go here. 
} 
+0

Próbowałem zaktualizować do wersji 6.1, zanim spróbowałem tego, ale być może nie zaktualizowałem wszystkich projektów. Spróbuję ponownie i zgłoś – thepaulpage

+0

Czy to też działa, jeśli używasz EF 6.1? – andyp

+0

Nie miałem jeszcze okazji tego wypróbować. Na razie ruszyliśmy, ale wiem, że wrócimy w pewnym momencie, a ja wrócę i zaktualizuję, kiedy spróbujemy ponownie. – thepaulpage

Powiązane problemy