1
resposta

[Bug] Eu não consigo dar update no banco

Esse curso foi feito em .Net 5 e quando eu tento subir o banco eu recebo a mensagem:

The given key '0' was not present in the dictionary.

Nos foruns, as pessoas dizem que conseguiram resolver atualizando a versão, mas eu não consigo atualizar o EntityFrameworkCore e .Tools acima de 5.0.17, e o erro persiste. Com isso, eu não estou conseguindo subir um banco pra fazer consultas e fiquei bloqueado de prosseguir no curso.

1 resposta

Olá, Raphael

O erro "The given key '0' was not present in the dictionary" geralmente ocorre quando o Entity Framework tenta acessar uma chave que não existe em um dicionário. Isso pode ser causado por vários motivos, como uma migração de banco de dados mal sucedida ou uma incompatibilidade de versões.

Você mencionou que tentou atualizar a versão do EntityFrameworkCore e .Tools para resolver o problema, mas não conseguiu. Uma coisa que você pode tentar é desinstalar completamente o EntityFrameworkCore e .Tools e reinstalá-los. Aqui está como você pode fazer isso:

  1. Abra o console do gerenciador de pacotes no Visual Studio (View -> Other Windows -> Package Manager Console).
  2. Desinstale o EntityFrameworkCore e .Tools com os seguintes comandos:
Uninstall-Package Microsoft.EntityFrameworkCore
Uninstall-Package Microsoft.EntityFrameworkCore.Tools
  1. Reinstale o EntityFrameworkCore e .Tools com os seguintes comandos:
Install-Package Microsoft.EntityFrameworkCore -Version 5.0.17
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 5.0.17

Depois de reinstalar, tente novamente executar a migração do banco de dados.

Se o problema persistir, pode ser útil verificar se há algum problema com as migrações de banco de dados existentes. Você pode fazer isso excluindo todas as migrações existentes e criando uma nova migração. Aqui estão os comandos que você pode usar para fazer isso:

  1. Exclua todas as migrações existentes:
Remove-Migration
  1. Crie uma nova migração:
Add-Migration InitialCreate
  1. Atualize o banco de dados:
Update-Database

Espero ter ajudado e bons estudos!