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.