2011-10-10 17 views
10

Używam CodeFirst z EF z dobrze zdefiniowaną bazą danych. Moja baza danych ma tabelę o nazwie "Centros" (portugalskie słowo) i udaje mi się odkryć, że EF próbuje pluralizować moje jednostki, aby "czarownica Centroes" była w tym przypadku błędna.Kod struktury obiektu Pierwsza pluralizacja tabeli

Jeśli usuniemy pluralizację modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();, uda mi się ją uruchomić, ale muszę zmienić nazwę mojego stołu na "Centro" (w celu dopasowania nazwy mojej jednostki).

W języku portugalskim "Centro" jest liczbą pojedynczą, "Centros" to liczba mnoga.

Nie chcę zmieniać nazw moich tabel, więc jak mogę określić pasującą nazwę tabeli dla mojej jednostki po usunięciu konwencji liczby mnogiej?

Odpowiedz

22

Adnotuję wszystkie moje klasy, niezależnie od tego, czy framework może to zrobić dla mnie za pomocą pewnych procedur inteligentnego odbicia. Na przykład.

[Table("Order")] 
public class Order 
{ 

} 

Możemy dotknąć typu, jest czystszy i jest mniej prawdopodobne, że przewróci się w jakimś nieoczekiwanym przypadku.

+1

To jest lepsza odpowiedź http://stackoverflow.com/questions/4796543/how-do-i-singularize-my-tables-in-ef-code-first – om471987

-1

ModelBuilder jest teraz System.Data.Entity.DbModelBuilder.

2

Albo można zrobić jeden w takiej chwili w Fluent API:

modelBuilder.Entity() ToTable ("ContactInfo");.

Powiązane problemy