Mudar a chave primaria do Identity CSHARP de string para Int

15/08/2018

5

Boa Tarde Pessoal.

Estou tentando mudar a chave primaria do Identity de string para Int, mas não estou conseguindo, poderiam me ajudar por favor ??

public class ApplicationUser : IdentityUser<int>
{
}

public class ApplicationRole : IdentityRole<int>
{
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, int>
{
}

services.AddIdentity<ApplicationUser, ApplicationRole>()
     .AddEntityFrameworkStores<ApplicationDbContext>()
     .AddDefaultTokenProviders();


fiz essas alterações para que receba int, mas quando tento inserir uma nova migração recebo 4 erros, iguais os de baixo.

Código Descrição P projeto
Linha Estado de Supressão
CS1503 Argumento 2: não é possível converter de "int" para "string"
NovoTeste 230
Ativo.
Responder

Post mais votado

18/08/2018

Fala Matheus, você precisa informar qual a chave que será substituta para que o identity possa utilizar, herdando e dando um override na propriedade.

Exemplo:
namespace Denario.Domain.Models
{
    [Table("Users")]
    public class User : IdentityUser<long>
    {
        //se o tipo for realmente inteiro utilize int no lugar
        [Key, Column(TypeName = "bigint")]
        public override long Id { get; set; }
    }
}
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar