Почему у меня есть две таблицы - AspNetUsers и ApplicationUser - PullRequest
0 голосов
/ 10 января 2019

Я новичок в ASP.NET Core MVC и EF. Я создал CatchmebgUser, который наследует IdentityUser. Я добавил пользовательское поле для фотографии в CatchmebgUser и применил миграцию.

Теперь у меня есть две таблицы: AspNetUsers и CatchmebgUser.

При использовании объекта User я получал данные из таблицы AspNetUsers, пока не добавил эту строку в CatchmebgContext:

builder.Entity<CatchmebgUser>().ToTable("CatchmebgUser");

Есть ли способ избавиться от таблицы AspNetUsers или у меня должны быть две отдельные таблицы для пользователей?

1 Ответ

0 голосов
/ 10 января 2019

Если вы наследуете пользовательский тип User от IdentityUser, вы должны вместо этого использовать производную версию IdentityDbContext, которая позволяет указывать эти конкретные типы для пользователя, роли и первичных ключей, используемых в рамках структуры идентификации:

public class MyDbContext : IdentityDbContext<CatchmebgUser, IdentityRole, string>
{
   ...
}

Таким образом, вам не нужно добавлять builder.Entity<CatchmebgUser>().ToTable("CatchmebgUser") конфигурацию для вашего типа, поскольку контекст автоматически использует DbSet<CatchmebgUser> для свойства Users.

...