AspNetCore.Identity no funciona con la implementación personalizada de usuario / rol
Porque tiendo a favorecerGuid
como mi tipo de clave principal, miUser
yRole
las clases se implementan de la siguiente manera
public class User : IdentityUser<Guid, UserClaim, UserRole, UserLogin>
{
}
public class Role : IdentityRole<Guid, UserRole, RoleClaim>
{
}
Tenga en cuenta queUserClaim
, UserRole
, UserLogin
& RoleClaim
todos se implementan de la misma manera
Aquí está miDbContext
implementación
public class ApplicationDbContext : IdentityDbContext<User, Role, Guid, UserClaim, UserRole, UserLogin, RoleClaim, UserToken>
{
}
Todo bien hasta ahora, excepto que el nuevo contenedor DI de AspNetCore no parece gustarle mi implementación personalizada por defecto. La siguiente línea de código, desde mi archivo Startup.cs arroja el error que se muestra a continuación
services
.AddIdentity<User, Role>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
GenericArguments [0], 'NewCo.DomainModel.Models.Identity.User', en 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`4 [TUser, TRole, TContext, TKey]' viola la restricción del tipo 'TUser'.
Supongo que esto se debe a que el gremlin de identidad predeterminado está implementado para usarIdentityUser<string>
, donde estoy usandoIdentityUser<Guid>
.
¿Que hago después?(Estoy sin ideas)
Nota: Estoy compilando contra las versiones oficiales de Microsoft .NET Core y ASP.NET Core a partir del lunes (27 de junio de 2016) y Visual Studio Update 3 (si eso es de alguna ayuda para alguien)