1
resposta

Porque utilizar <IdentityUser, IdentityRole>?

Vi no StackOverFlow, que geralmente se utiliza a referência para uma classe específica como: ApplicationUser. Ficaria assim o IdentityDbContext:

public class MyDbContext : IdentityDbContext<ApplicationUser>{ ... }

Por que utilizar então, User and Role, não seria mais simples passar somente uma classe específica?

E por que o professor utiliza int tanto para User quanto para Role?

public class UserDbContext : IdentityDbContext<IdentityUser<int>, IdentityRole<int>, int>
1 resposta

Olá, Victor

A utilização de <IdentityUser, IdentityRole> no IdentityDbContext é uma forma genérica de referenciar as classes de usuário e papel do Identity. Essa abordagem permite que você personalize essas classes de acordo com as necessidades do seu projeto. Por exemplo, você pode adicionar propriedades extras à classe ApplicationUser para armazenar informações adicionais sobre o usuário.

No entanto, se você não precisa personalizar essas classes, pode usar diretamente IdentityUser e IdentityRole no IdentityDbContext. Isso simplifica o código, pois você não precisa criar uma classe separada para o usuário.

Quanto ao uso de int para a chave primária do usuário e do papel, isso é uma escolha pessoal. O professor pode ter optado por usar int para fins de simplicidade ou por algum requisito específico do projeto. Em alguns casos, pode ser necessário usar um tipo de dados diferente para a chave primária, como Guid ou string.

Espero ter ajudado e bons estudos!