Каркас идентификации Owin не возвращает никаких претензий при переименовании таблиц

Если я создаю новый веб-сайт MVC в Visual Studio (asp.net 4.6.1), я могу добавлять / извлекать заявки, выполняя следующие действия в методе Register() класса AccountController:

if (ModelState.IsValid)
{
    var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
    var result = await UserManager.CreateAsync(user, model.Password);

    var addClaimResult = UserManager.AddClaim(user.Id, new Claim("test", "test"));
    var claims= UserManager.GetClaims(user.Id); 

    //claims.Count == 1
}

Если я переименую таблицы, переопределив OnModelCreating, как показано ниже, то пункт Clas.s.Count выше равен 0. Другими словами, после переименования таблиц я не могу больше получать заявки из базы данных.

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

    string prefix = "Identity";
    modelBuilder.Entity<ApplicationUser>().ToTable($"{prefix}Users", "dbo");
    modelBuilder.Entity<IdentityUser>().ToTable($"{prefix}Users", "dbo");
    modelBuilder.Entity<IdentityUserRole>().ToTable($"{prefix}UserRoles", "dbo");
    modelBuilder.Entity<IdentityUserLogin>().ToTable($"{prefix}UserLogins", "dbo");
    modelBuilder.Entity<IdentityUserClaim>().ToTable($"{prefix}UserClaims", "dbo");
    modelBuilder.Entity<IdentityRole>().ToTable($"{prefix}Roles", "dbo");
}

Метод AddClaim возвращается успешно, и я могу подтвердить, что 'test' добавлен в таблицу в базе данных. Все остальное, что связано с платформой идентификации, все еще работает (логины и т. Д.), Просто заявки, добавленные в базу данных, никогда не возвращаются. Я пробовал через MVC и Web API 2, я пробовал в разное время (т.е. после входа в систему, после авторизации, после нескольких вызовов веб-методов, что угодно).

Я включил ведение журнала сущности. AddClaim попадает в базу данных. GetClaims не попадает в базу данных ни в одном случае (таблицы переименованы или нет).

Почему заявки. Количество = 0?

1 ответ

Проверка подлинности токена веб-API ASP Identity 2 + - постоянные утверждения не загружаются

Тот же ответ, что и выше.

modelBuilder.Entity (). ToTable ($ "{prefix} Users", "dbo"); не нужно.