Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida criação tabelas no migration

Prezados, boa noite. Após utilizar o migration em questão do curso, baseado na classe:

public class UserDbContext : IdentityDbContext<User>
    {
        public UserDbContext(DbContextOptions<UserDbContext> options) : base(options)
        {

        }
    }

O mesmo criou varias tabelas no meu banco de dados, sendo elas:

AspNetRoleClaims AspNetRoles AspNetUserClaims AspNetUserLogins AspNetUserRoles AspNetUsers AspNetUserTokens

Minha dúvida, tem como fazer algum controle mapeamento para criar apenas a tabela [AspNetUsers] ? que é onde salva os principais dados de cadastro do usuários, ou especificamente precisa seguir os padrões de tabelas da biblioteca ? Poderiam abranger alternativas diferentes para focar os registros em menos tabelas ?

Obrigado !

4 respostas

Olá, Guilherme! Bom dia!

Entendi sua dúvida sobre a criação de tabelas com o Entity Framework e o Identity. Quando você utiliza o IdentityDbContext, ele automaticamente cria várias tabelas padrão necessárias para gerenciar autenticação e autorização, como as que você mencionou. Isso inclui tabelas para gerenciar usuários, papéis, tokens, etc.

Infelizmente, não é possível criar apenas a tabela AspNetUsers sem as outras, pois o ASP.NET Identity depende dessas tabelas para funcionar corretamente. Elas são necessárias para suportar funcionalidades como gerenciamento de papéis, autenticação de usuários, recuperação de senha, entre outras.

No entanto, se você deseja uma solução mais enxuta e personalizada, uma alternativa seria implementar seu próprio sistema de autenticação, sem usar o ASP.NET Identity. Isso daria mais controle sobre quais tabelas e funcionalidades você deseja implementar, mas exigiria mais trabalho e cuidado para garantir a segurança do sistema.

Outra abordagem seria usar o ASP.NET Identity e simplesmente ignorar as tabelas que você não precisa diretamente. Elas não ocuparão muito espaço e não afetarão o desempenho do seu sistema se você não as utilizar.

Espero ter ajudado e bons estudos!

André, muito obrigado pela explicação, uma dúvida. Você tira dúvidas também pelo discord ?

Se não for pedir demais, gostaria de entender mais sobre "usar o ASP.NET Identity e simplesmente ignorar as tabelas que você não precisa diretamente".

Posso coordena-las no meu Contexto ? E por exemplo usar arquitetura de contexto Code First Configuration ? (Eu prefiro usar ela), pois sinto que tenho mais controle sobre meu contexto dentro do código, e até para treinar e forçar a utilização de criação e modelagem de bases diretamente pelo SQL Server por exemplo.

Grato pela resposta.

solução!

Guilherme, boa tarde.

Estou no discord também, pode me pingar lá que trocamos uma idéia e te ajudo nas dúvidas que conseguir!

Até

Obrigado André, vou te procurar sim. Agradeço pelo apoio.

Abraços.