Для моего проекта интернет-приложения стажировки для школы существует три типа пользователей:
Каждый из этих трех классов с уникальными свойствами. Все три из них наследуются от одного и того же класса под названием «Пользователь». Класс User содержит свойства, которые имеют все три класса, поэтому они наследуют этот класс.
В моем проекте я использую Entity Framework. Поэтому в своей базе данных я подумал, что мне понадобятся четыре таблицы: пользователь, учитель, студент и бизнес. Между пользователем и другими классами существует отношение один к одному. Однако для моей системы входа в систему / регистрации в веб-приложении я использую класс IdentityUser (IdentityUser, чтобы быть более точным c), который наследует пользователь. Это приводит к тому, что в таблицу «Пользователь» в моей базе данных добавляется немного больше строк (в таблицах «Ученик, Учитель и Бизнес» ничего не меняется).
Если регистрация указывает, что новая учетная запись должна быть учителем, тогда учитель должен быть сохранены в базе данных. Таблица «Пользователь» будет обновлена данными, которые представляет пользовательская часть класса «Учитель», а таблица «Учитель» должна быть обновлена данными, уникальными для учителя. Как я уже сказал, это отношение один на один, и, естественно, обе строки имеют один и тот же первичный ключ, который представляет собой Guid (преобразуется в строку, поскольку она сохраняется в базе данных)
Но у меня есть сомнения по этому поводу. Это правильный подход? Что бы вы сделали по-другому?
Если вам случится что-то похожее, не могли бы вы дать мне совет, как это сделать? 1021 *? 1019 *