Как удалить некоторые таблицы идентичности по умолчанию в ASP.NET Core 2.2 - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь удалить некоторые из таблиц идентификации по умолчанию, игнорируя их в OnModelCreating следующим образом:

public class ApplicationDbContext : IdentityDbContext
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<ApplicationUser>(p => p.HasOne(e=>e.Department).WithOne().IsRequired());
        modelBuilder.Ignore<IdentityUserToken<string>>();
        modelBuilder.Ignore<IdentityUserClaim<string>>();
        modelBuilder.Ignore<IdentityUserLogin<string>>();
        modelBuilder.Ignore<IdentityRoleClaim<string>>();
        modelBuilder.Ignore<IdentityUser<string>>();
    }
}

и в файле startup.cs я настроил идентичность как:

services.AddIdentity<ApplicationUser, IdentityRole>()
            .AddDefaultUI(UIFramework.Bootstrap4)
            .AddEntityFrameworkStores<ApplicationDbContext>();

Когда я регистрирую пользователя, все работает нормально, но когда пользователь пытается войти, он выдает эту ошибку:

Невозможно создать DbSet для IdentityUserClaim, потому что это тип не включен в модель для контекста

что я упустил в своих настройках?

пожалуйста, не отмечайте его как дубликат, потому что я много искал и все же не смог найти подходящее решение

1 Ответ

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

Хорошо! Я глубоко взглянул на эту проблему! Заключительное слово - вы не можете удалить эти таблицы. Если вы удалите эти таблицы, идентичность не будет работать, как ожидалось. Для более подробной информации:

Как удалить таблицы ролей из ASP.NET Identity Core 2.0

Аналогичная проблема размещена на Github

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