1
resposta

Erro ao executar o método SaveChanges no Mac

Olá,

Estou utilizando o SQL Server dentro de um container do Docker no Mac. E estava ocorrendo um erro no método SaveChanges. Vi aqui no fórum um colega com o mesmo problema, sem solução. Porém não consegui responder na mesma thread.

Segue a solução que encontrei.

No método OnConfiguring da classe LojaContext, ao tentar inserir a string de conexão diretamente como parâmetro do optionsBuilder.UseSqlServer, retornava erro. Então criei uma SqlConnection, e passei essa para o método UseSqlServer.

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        var connection = new SqlConnection("Server=localhost,1401;Database=studyDb;User Id=sa;Password=p@sswordAdmin01;");
        optionsBuilder.UseSqlServer(connection);
    }

Não sei explicar exatamente o motivo do erro, mas dessa forma funcionou.

1 resposta

Its hard to notice only with this data, but i let u the common reasons:

  • if u are using a sql inside a docker, be sure to can access the sql, [ensure that the ip of container was correctly exposed into container, and not being using by any other app]
  • If u are using a async app be sure to await every awaitable response
  • If u are working with a already populate database be sure to not overwrite any id at creation

You can put the SaveChanges() method into a try-catch block to get a more detailed message of that exception :D