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

Erro ao realizar migration

Eu estou tentando fazer a Migration, porém não funciona. Tentei algumas resoluções aqui do fórum mas acabou que nenhuma funcionou. Erro apresentado ao tentar executar a Migration

6 respostas

Olá, Pedro!

Pela imagem que você compartilhou, parece que o erro está relacionado com o carregamento do arquivo de configuração appsettings.json e a criação do DbContext. O erro indica que o Entity Framework Core não conseguiu resolver o serviço para o tipo DbContextOptions<FilmesAPI.Data.FilmeContext>.

Aqui estão alguns passos que você pode seguir para tentar resolver esse problema:

  1. Verifique o arquivo appsettings.json: Certifique-se de que o arquivo appsettings.json está no diretório correto do seu projeto e que ele contém as configurações corretas para a conexão com o banco de dados.

  2. Cheque a configuração do serviço: No arquivo Startup.cs ou Program.cs (dependendo da versão do .NET que você está usando), verifique se você tem o serviço FilmeContext configurado corretamente com DbContextOptions. A configuração deve parecer algo assim:

    services.AddDbContext<FilmeContext>(options =>
        options.UseMySql(Configuration.GetConnectionString("DefaultConnection"),
            ServerVersion.AutoDetect(Configuration.GetConnectionString("DefaultConnection"))));
    

    Certifique-se de que a string de conexão DefaultConnection está definida corretamente em appsettings.json.

  3. Construa o projeto: Às vezes, simplesmente reconstruir o projeto pode resolver problemas de referência. Tente executar Build no seu projeto e veja se isso resolve o problema.

  4. Verifique as dependências: Confirme se todas as dependências necessárias estão instaladas, como o pacote Microsoft.EntityFrameworkCore.Tools e o provedor do banco de dados, como Pomelo.EntityFrameworkCore.MySql para MySQL.

  5. Contexto sem parâmetros: Se o seu DbContext tiver um construtor que exige parâmetros, certifique-se de que existe também um construtor sem parâmetros ou que a injeção de dependência está configurada para fornecer os parâmetros necessários.

Se após seguir esses passos o problema persistir, seria útil verificar se aparece outras mensagens de erro mais específicas no Output ou no console do Visual Studio que possam dar mais pistas sobre o que está acontecendo.

Espero ter ajudado e bons estudos!

Infelizmente nenhuma das opções funcionou, até tentei baixar o projeto que tem da aula e não do mesmo jeito acabou não indo. E deu outro erro. Erro ao executar comado Add-Migration

Verifica se as configurações estão certinhas do DbSet, tenta atualizar as dependências, no caso os pacotes do NuGet, parece ser erro de conpatibilidade entre as versões.

também estou enfrentando o mesmo erro e não consigo soluciona-lo.

solução!

Eu consegui solucionar o problema, no meu caso tinha percebido algumas coisas mal digitadas, então para garantir eu baixar o projeto de onde eu parei, em seguida atualizei a versão do pomelo para uma versão beta.

NuGet\Install-Package Pomelo.EntityFrameworkCore.MySql -Version 8.0.0-beta.2

Coloquei isso no meu prompt do NuGet.

Consegui solucionar o problema, O que eu fiz: Excluir o EntityCore = 8.0.0, EntityTools= 8.0.0 e o PomeloMysql= 7.0.0 nas versões mais atuais que eram as que eu havia instalado, e instalei novamente só que nas versões iguals as do curso, que foram, EntityCore = 6.0.10, EntityTools= 6.0.10 e o PomeloMysql= 6.0.2 (fica uma msg de que tem versões mais atuais para instalar porém mantém essas antigas), e roda novamente o comando Add-Migration NomedaTable, o erro vai sumir.