Каркас идентификации 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"); не нужно.