сущность-каркасное ядро - ядро RC2 Entity Framework имена множественной таблицы

 
Там нет никакого способа, чтобы выполнить этот код в EF Основного RC 2?
защищенное  переопределение  недействительный OnModelCreating (ModelBuilder MODELBUILDER) 
{ 
    modelBuilder.Conventions.Remove <PluralizingTableNameConvention> (); 
}

 

EF RC2 версия не имеет эту конвенцию, которая является производной от основной группы EF:

 

В прошлом пре-релиз EF Ядра, имя таблицы для объекта была такой
же , как имя класса сущности. В RC2 теперь мы используем имя DbSet
собственности. Если ни одно из свойств DbSet не определен для данного типа объекта,
то используется имя класса сущности.

Теперь, если вы хотите вернуться к RC1 таблице именования, то есть могут быть использованы три вида методов:

1. Выберите сингулярное имя DbSet свойства:

Один из способов отделить DbSet имен свойств (мне не нравится) Допустим, у вас есть сущность книги, и хотите отобразить в книге таблицы:

 

общественного DbSet <Книга> Книга { получить; поставил; }

2. Используйте ToTable () Fluent API:

Конечно, вы всегда можете использовать свободно API для покрытия любого подходящего соглашения, а также указать имя таблицы в соответствии с вашими потребностями:

 

modelBuilder.Entity <книги> () ToTable (. "Книга");

3. Написание пользовательских конвенции:

Просто потому, что EF Ядро RC2 нет никакого согласия в этом отношении, это не значит, что мы не можем написали это, во-первых, мы должны создать метод расширения над объектами ModelBuilder:

 

используя Microsoft.EntityFrameworkCore.Metadata.Internal; общественный статический класс ModelBuilderExtensions  { общественных статический вакуум RemovePluralizingTableNameConvention ( это ModelBuilder MODELBUILDER) { Еогеасп (IMutableEntityType объект в modelBuilder.Model.GetEntityTypes ()) {entity.Relational () TableName = entity.DisplayName (). }}}


    

Тогда мы просто называем его из методов OnModelCreating DbContext на объектах:

 

защищенное переопределение недействительного OnModelCreating (ModelBuilder MODELBUILDER) {modelBuilder.RemovePluralizingTableNameConvention (); }

Off:

Я не как множественного числа имен таблиц, я предпочитаю последний вариант, чем другие варианты, и идти с потоком. Другими словами, это мое личное мнение, другие разработчики могут найти это лучше, чем любой из этих трех способов в противном случае выгоднее, и выбрать матч с :)

рекомендация

отwww.cnblogs.com/xbzhu/p/12064404.html