Пользовательский IdentityUser - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь перейти от использования IdentityUser по умолчанию к пользовательскому AppUser. Я по существу добавил в ApplicationDBContext и попытался перенести и обновить базу данных. Но это дает мне следующую ошибку:

Ключ не может быть настроен в AppUser, поскольку он является производным типом. Ключ должен быть настроен для корневого типа «IdentityUser». Если вы не намеревались включить «IdentityUser» в модель, убедитесь, что оно не включено в свойство DbSet вашего контекста, не указано в вызове конфигурации для ModelBuilder или не указано в свойстве навигации для включенного типав модели.

Как я могу настроить его в корневом IdentiyUser, поскольку он скрыт от меня?

Причина этого изменения заключается в том, что я хочу прикрепить данные пользователя кIdentityUser. Будет ли проще просто создать другую таблицу для таких вещей и просто иметь внешний ключ для userId? Каковы будут недостатки такой реализации?

Ссылка https://docs.microsoft.com/en-us/aspnet/core/security/authentication/add-user-data?view=aspnetcore-3.0&tabs=visual-studio

1 Ответ

1 голос
/ 13 октября 2019

Мой подход будет позже. Сохранять IdentityUser как есть и создавать новую таблицу для хранения пользовательских данных. Причина, по которой я бы сделал это таким образом, заключается в разделении интересов. Данные профиля являются отдельными для идентификационных данных. Он также логически разделяет сущности, так что кто-то, смотрящий на этот код через четыре года, сможет понять сущности. Единственными недостатками этой реализации является то, что есть вторая таблица и внешний ключ. Это немного увеличило бы пространство и возможность разрыва отношений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...