У меня есть два разных типа пользователей, которые имеют разные свойства, поэтому я создал 2 новых класса, и каждый из них наследовал от AppUser
.Мне известно, что EF при этом использует столбец дискриминатора в таблице AspNetUsers
.Кроме того, у ученика много учителей, поэтому я ожидаю, что будет создана таблица соединения, которая будет иметь TeacherUserId
и StudentId
.
Когда я запускаю Update-Database
, он добавляет столбец StudentId
в AspNetUsers
таблица.
Где моя StudentTeachers
таблица?Кажется, что он пытается обработать его в таблице AspNetUsers
со множеством строк, что было бы ужасно.Я не хочу создавать нового пользователя для каждого student.teacher
.
Вот мои классы моделей:
public class AppUser : IdentityUser
{
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
}
public class TeacherUser : AppUser
{
public string TeacherSpecificProperty { get; set };
}
public class StudentUser : AppUser
{
public string StudentSpecificProperty { get; set };
}
public class Student
{
public Student()
{
this.Teachers= new List<TeacherUser>();
}
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public List<TeacherUser> Teachers{ get; set; }
}