O Entity Framework é um framework de mapeamento objeto-relacional (ORM) para .NET. Sua função principal é facilitar o acesso e a manipulação de bancos de dados relacionais por meio de uma abstração orientada a objetos. Dentre suas facilidades, hora ou outra podemos nos deparar com algumas dificuldades e hoje irei demonstrar neste artigo como solucionar
O Entity Framework é um framework de mapeamento objeto-relacional (ORM) para .NET.
Sua função principal é facilitar o acesso e a manipulação de bancos de dados relacionais por meio de uma abstração orientada a objetos.
Dentre suas facilidades, hora ou outra podemos nos deparar com algumas dificuldades e hoje irei demonstrar neste artigo como solucionar o problema.
Geralmente o mesmo ocorre quando estamos a configurar o Entity Framework Core pela primeira vez em nosso projeto.
O erro em questão é a mensagem que aparece quando executamos a atualização do banco de dados pelo comando Update-Database, exibindo a seguinte mensagem:
A mensagem padrão “A cadeia de certificação foi emitida por uma autoridade que não é de confiança” a um primeiro momento não quer dizer muita coisa.
O que a documentação da Microsoft fala sobre o erro gerado no Entity Framework?
A um primeiro momento, se procurar na internet pelo problema, encontrará diversos fóruns e o mais comum é o StackOverflow.
Na própria documentação da Microsoft podemos encontrar no artigo “The certificate chain was issued by an authority that is not trusted“.
Ele até dá explicitamente o que pode causar o problema, que são os seguintes itens:
- Quando a opção Force Encryption para a instância do SQL Server está configurada como No;
- A conexão do cliente não especifica explicitamente um valor para a propriedade de criptografia ou a opção Criptografia não foi definida ou atualizada explicitamente no DSN
Mas como tenho certeza de que você não tem muito tempo para resolver o problema e deseja solucionar o problema em sua aplicação, vamos resolver na string de conexão.
Iremos adicionar a variável TrustServerCertificate e atribuirmos a ela o valor true, para que ele passe a ser um certificado valido, como no exemplo:
Server=nome_do_server;Database=meu_database;User Id=usuario_do_banco;Pwd=senha_do_usuario;TrustServerCertificate=true;MultipleActiveResultSets=true
Simples assim. Facil não!? Te vejo na próxima. Não esqueça de deixar teu comentário caso este artigo foi útil. Isto me ajuda a entender se trago mais deste conteúdo por aqui. Valeu!
2 comments
2 Comments
Alessandra Suzuki
29/05/2024, 15:28Boa! Muito bom o artigo e realmente resolve o problema e vai guiando no processo, o que me quebrou foi ter que colocar e-mail para comentar que o artigo eh bom.
REPLYLuiz Fernando Santana@Alessandra Suzuki
10/06/2024, 04:28Opa, tudo bem Alessandra. Bacana que ajudou na resolução do problema, realmente é o objetivo.
REPLYDesculpe, realmente preciso ter pelo menos uma trava anti-spam e é por isso do e-mail. Mas não esquenta que ele não é divulgado.
Muito obrigado pelo comentário e feedback.