1
resposta

Qual a sintaxe da connection string MySQL pra migration

Estou tentando rodar uma migration em C# usando um banco de dados MySQL. Já conectei esse banco no DBeaver e tudo ocorreu perfeitamente, porém quando eu passo essas informações na connection string, a migration quebra no "update database". Não sei se o problema está na connection string mas não consigo rodar essa migration por nada. PS: Já instalei o pacote NuGet EntityFramework e o MySQL.data Minha classe context:

public class ConfigContext : DbContext
    {
        public ConfigContext() : base("Server=localhost:3306;Database=smartparking;Uid=root;Pwd=1234567")
        {

        }
        public DbSet<Cliente> Cliente { get; set; }
    }

Erro no terminal: Inner exception stack trace: System.Data.SqlClient.SqlException (0x80131904): Erro de rede ou específico à instância ao estabelecer conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provider: Named Pipes Provider, error: 40 - Não foi possível abrir uma conexão com o SQL Server)

1 resposta

Olá

Pelo código que você compartilhou, percebi que você está utilizando uma connection string para o SQL Server, mas está tentando se conectar a um banco de dados MySQL. Isso pode ser a causa do erro que você está enfrentando.

Para se conectar a um banco de dados MySQL, a sintaxe da connection string é um pouco diferente. No seu caso, a connection string correta para o MySQL seria algo como:

public class ConfigContext : DbContext
{
    public ConfigContext() : base("Server=localhost;Port=3306;Database=smartparking;Uid=root;Pwd=1234567")
    {
        
    }
    public DbSet<Cliente> Cliente { get; set; }
}

Nessa nova connection string, substituímos "Server=localhost:3306" por "Server=localhost;Port=3306", para indicar o servidor e a porta corretos do MySQL.

Espero que essa alteração resolva o seu problema e permita que você execute a migration com sucesso. Se você ainda estiver enfrentando problemas, verifique se o servidor MySQL está em execução e se as credenciais de acesso estão corretas.

Espero ter ajudado e bons estudos!