отношение идентичности ядра dotnet один к одному между пользователями

#c# #.net-core #entity-framework-core

#c# #.net-core #сущность-фреймворк-ядро

Вопрос:

У меня есть три основных объекта. «Ученик», «Учитель» и «Собрание».

Мне нужно иметь что-то вроде этого :

     public class Meeting
    {
        public Guid Id { get; set; }
        public string Status { get; set; }
        public string Description { get; set; }
        public string Category { get; set; }
        public DateTime RegisterDate { get; set; }
        public DateTime MeetingDate { get; set; }
        public AppUser Student { get; set; }
        public AppUser Teacher { get; set; }

    }

    public class Student
    {
        public string Id { get; set; }
        public AppUser AppUser { get; set; }
        //...
    }

    public class Teacher
    {
        public string Id { get; set; }
        public AppUser AppUser { get; set; }
        //...
    }
 

на каждом собрании есть только один ученик и один учитель.
итак, мне нужна встреча с двумя пользователями (учеником и учителем), которые оба являются зарегистрированными пользователями с разными свойствами.

это правильный способ реализации класса Meeting?

Спасибо.

Комментарии:

1. @PanagiotisKanavos спасибо за ваш комментарий. учитель вообще не может быть учеником. существует ли какой-либо всеобъемлющий документ для реализации чего-то подобного?

2. Ваш вопрос мне непонятен. Итак, мы можем вам не назначать встречу. Студент = {студент, выбранный при использовании} и Встреча. Учитель = {учитель, выбранный пользователем}? Что у вас не работает?

3. @NeilW так просто, мне нужны два полностью разделенных пользователя. даже когда я хочу зарегистрировать их в первую очередь.

4. @Kalager, я пытался быть полезным. Если ваш вопрос настолько прост, то я бы уже ожидал каких-то других ответов. Требуется больше контекста.

5. @NeilW спасибо за вашу помощь.