Соединительная таблица не создается при добавлении списка IdentityUser к сущности в Entity Framework Core - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть два разных типа пользователей, которые имеют разные свойства, поэтому я создал 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; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...