Entity Framework CodeFirst table pluralization

Я использую CodeFirst из EF с хорошо определенной базой данных. В моей базе данных есть таблица с названием "Centros" (португальское слово), и мне удается найти, что EF пытается плюрализировать мои сущности, чтобы получить "ведьму Centroes" в этом случае не так.

Если я удалю pluralization modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();, мне удастся заставить его работать, но мне нужно переименовать мою таблицу в "Centro" (чтобы соответствовать моему имени сущности).

В португальском "Центро" единственное число, "Центрос" - множественное число.

Я не хочу переименовывать имена моих таблиц, так как я могу указать имя соответствующей таблицы для моего объекта после удаления соглашения о плюрализации?

Ответ 1

Я комментирую все мои классы, независимо от того, может ли фреймворк сделать это для меня с помощью некоторых процедур интеллектуального анализа. Например.

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

}

Мы можем прикоснуться к типу, он чище, и он вряд ли упадет в неожиданном случае.

Ответ 2

Или вы можете сделать это за один раз в Fluent API:

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

Ответ 3

ModelBuilder теперь является System.Data.Entity.DbModelBuilder.