Итак, я пытаюсь сначала реализовать Table-per-Type, используя код Entity Framework, однако столбец дискриминатора все еще создается в таблице AspNetUsers (класс ApplicationUser), хотя я сказал это иначе.
Дбконтекст
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
Database.SetInitializer(new MigrateDatabaseToLatestVersion<SchoolContext, School.Migrations.Configuration>());
modelBuilder.Entity<Student>().ToTable("Students");
modelBuilder.Entity<Teacher>().ToTable("Teachers");
}
public virtual DbSet<Address> Addresses { get; set; }
POCO рассматриваемых классов, включая ApplicationUser, который использует ASP Identity:
public class ApplicationUser : IdentityUser
{
public virtual ICollection<Address> Addresses { get; set; }
}
public class Student: ApplicationUser
{
public virtual string Name { get; set; }
public virtual ICollection<Subject> Subjects{ get; set; }
}
public class Teacher: ApplicationUser
{
public virtual int Wage{ get; set; }
}
Полученная схема базы данных, кажется, вставляет столбец «Дискриминатор», хотя, когда я регистрирую новую учетную запись через веб-сайт, столбец все равно показывает «неопределенный» для строки.
Вещи, которые я пробовал: добавление в OnModelCreating для ApplicationUser, создаваемого с помощью ToTable ("AspNetUsers") и т. д.
Любая помощь будет потрясающей!
modelBuilder.Entity<Student>().ToTable("Students");
- person SWilko   schedule 09.04.2015