Названия таблиц множественных таблиц по умолчанию являются стандартными в EF. но когда я добавил префикс, я не могу сделать имена более многочисленными, к сожалению. Есть идеи?
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Types()
.Configure(entity => entity.ToTable("MyPrefix_" + entity.ClrType.Name));
modelBuilder.Conventions.Add<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
В PluralizingTableNameConvention используется PluralizationService, который можно использовать где угодно. Поэтому вы можете использовать его в своем конфигурационном коде.
Вот пример использования модели "Человек", которая должна быть плюрализована для "Люди":
public DbSet<Person> Persons { get; set; }
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
var serv = PluralizationService.CreateService(new System.Globalization.CultureInfo("en-us"));
modelBuilder.Types()
.Configure(entity => entity.ToTable("MyPrefix_" + serv.Pluralize(entity.ClrType.Name)));
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
После запуска этого кода он правильно плюрализует модель Person для "MyPrefix_People" в базе данных.
Для использования функции PluralizationService вам необходимо обратиться к сборке System.Data.Entity.Design
.