0 / 0 / 0
Регистрация: 21.04.2020
Сообщений: 13
|
|||||||||||
1 | |||||||||||
Как реализовать регистрацию пользователей - параметрический полиморфизм30.11.2022, 09:10. Показов 610. Ответов 1
Собственно, у меня имеются две сущности: Пациент и Доктор (да, они не являются ролями одной сущности Пользователь (ее у меня нет, как и сущности Роль).
Как я могу с помощью полиморфизма реализовать регистрацию на сайт этих двух сущностей, ну и логин соответственно. Классы (да, я понимаю что можно вынести эти одинаковые поля в один другой класс, который будет игнорироваться в EF Core):
0
|
30.11.2022, 09:10 | |
Ответы с готовыми решениями:
1
Параметрический полиморфизм Параметрический полиморфизм Как сделать регистрацию пользователей? Как добавить регистрацию пользователей на сервис ? |
30.11.2022, 09:59 | 2 | |||||
Сообщение было отмечено shindayoni как решение
Решение
Краткий ответ: для вашего примера - никак.
Это СОВЕРШЕННО одинаковые модели. И они у вас ДОЛЖНЫ быть и в БД в одной таблице. Потому что даже судя по модели - это не доктор и пациент - а пользователи системы. А доктором, пациентом или уборщицей они должны стать по другому признаку. И тут уже стоит добавить таблицу UserType и поле UserTypeId в вашей модели. Так же, регистрация этих пользователей всё равно должна была бы быть независимой. 1. Так как в публичном методе нельзя зарегистрировать доктора. Иначе пришлось бы отображать тип пользователя и контролировать валидность пришедших данных (кто это отправил, имеет ли права и т.п.) 2. Пользователи могут регистрироваться одинаково, а вот роли назначаться уже позже, вручную, например администратором. Добавлено через 8 минут Но я всё-таки отвечу на один ваш вопрос. Полиморфизм конечно можно организовать. Но он и должен быть полиморфизмом, а не то что вы показали - одинаковые модели. Первое, связывание модели происходит (грубо говоря) по принципу "похоже-непохоже". В вашем случае он бы даже не понял как это выяснить. Поэтому и нужно вводить уникальное различие. Второе, полиморфизм - это подкласс, имеющий это "уникальное различие". И тогда вы можете в методе где регистрируются доктора - один тип использовать, а где пациенты - другой. Например
1
|
30.11.2022, 09:59 | |
30.11.2022, 09:59 | |
Помогаю со студенческими работами здесь
2
Как в Wordpress включить регистрацию новых пользователей? Как создать регистрацию для пользователей и вход? Делегирование прав на регистрацию новых пользователей в Lotus. Как? Postfix mail server как создать регистрацию пользователей? Как сделать регистрацию пользователей с подключением к базе данных MySql WorkBench? Как сделать регистрацию и авторизацию пользователей с личной странице пользователя и адресом на его страницу? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |