AddEntityFrameworkStores можно вызывать только с ролью, которая происходит от IdentityRole в .NET Core 2.0
Я изменил проект из версии .NET Core 1.1 на 2.0, но я получаю сообщение об ошибке из Identity, когда он пытается добавить магазины:
services.AddIdentity<ApplicationUser, IdentityRole<long>>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Выброшенная ошибка:
AddEntityFrameworkStores можно вызывать только с ролью, которая выводится из IdentityRole
Это мои классы:
public class ApplicationUser : IdentityUser<long>
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser, IdentityRole<long>, long>
{
public ApplicationDbContext(DbContextOptions options) : base(options) {
}
}
Кто-нибудь может мне помочь?
Ответы
Ответ 1
Давным-давно я задавал этот вопрос, но вот как я сейчас справляюсь:
Startup.cs
services.AddIdentity<User, Role>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddScoped<RoleManager<Role>>();
Entites:
public class User : IdentityUser<int>
{
}
public class Role : IdentityRole<int>
{
}
Ответ 2
В том же выпуске вы можете посмотреть: https://github.com/aspnet/Identity/issues/1364