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

Não estou conseguindo conectar ao banco

Pessoal, segui todos os passos do vídeo, mas não consigo conectar ao meu banco de dados.

Estou usando o banco de dados local mesmo e tá dando o seguinte erro:

SqlException: Cannot open database "ExemploEntityFramework.EntidadesContexto" requested by the login. The login failed.

Login failed for user 'gmachine\guser'.

No Visual Studio mostra que o banco está conectado, porém, não aparece a tabela ''Usuarios'', mesmo depois de ter feito o Migrations.

Lembrando que eu utilizo o SQL Server Express LocalDB.

Minha string de conexão:

<connectionStrings>
    <add name="DbExemploEntityFrameworkConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|path|\DbExemploEntityFramework.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>
3 respostas

Olá, Gregori!

Realmente está estranho. Vou pedir pra você responder algumas perguntas para podermos analisar melhor:

  • Tem certeza de que o Visual Studio está conectado ao banco DbExemploEntityFramework? Nâo é um outro banco de dados? (pergunto isso porque às vezes temos mais de um banco de dados na mesma máquina, e o VS pode estar conectado a um BD diferente).
  • Depois que você criou a migração com Add-Migration você rodou Update-Database? Pode rodar Update-Database novamente, só pra garantir?
  • Quando roda Update-Database, não aparecem mensagens de erros?
solução!

Opa, eu consegui me conectar!

Estava faltando o seguinte trecho de código:

public ModelsContext() : base("connectionString") {}

No vídeo, o professor insere a connection string pelo método "OnConfiguring", porém esse método não apareceu pra mim, então coloquei a connection string daquela outra maneira.

Obrigado!

Excelente, Gregori! Realmente houve mudanças na maneira de configurar entre as últimas versões do Entity Framework, e essa linha que você adicionou agora passa para o construtor da classe-base o nome da configuração da string de conexão.

Um abraço