Eu estou tentando fazer a Migration, porém não funciona. Tentei algumas resoluções aqui do fórum mas acabou que nenhuma funcionou.
Eu estou tentando fazer a Migration, porém não funciona. Tentei algumas resoluções aqui do fórum mas acabou que nenhuma funcionou.
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:
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.
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
.
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.
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.
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.
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.
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.