Добавить внешний ключ в таблицу AspNetUser - PullRequest
0 голосов
/ 01 ноября 2019

Я создал приложение ASP.NET Core Razor Pages с идентификаторами пользователей.

Созданный проект включает миграцию, которая добавляет все пользовательские таблицы, такие как AspNetUser и AspNetRoles. Однако он не создает никаких моделей кода для этих таблиц.

Теперь я создал свои собственные модели сущностей и хотел бы, чтобы у некоторых из них были внешние ключи к таблице AspNetUser.

Как я могу это сделать? Платформа представляет их как классы в любом месте? Нужно ли вручную создавать модели и пытаться заставить их точно соответствовать таблицам? Или, если на то пошло, как мне получить доступ ко всем данным пользователя?

1 Ответ

0 голосов
/ 01 ноября 2019

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

public class AppUser : IdentityUser
{
    public int AddressId { get; set; }
    public UserAddress Address { get; set; }
}

public class UserAddress
{
    public int Id { get; set; }

    // ...

    public string UserId { get; set; }
    public AppUser User { get; set; }
}

Затем замените IdentityUser при запуске на AppUser:

services.AddDefaultIdentity<AppUser>();

Затем создайте новые миграции для создания новой пользовательской таблицы.

...