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

Como impedir que o EF faça as alterações (DDL) na estruturas do meu banco de dados

Bom dia, hoje trabalho somente com ADO.NET (DbConnection,DBCommand, etc), como faço para impedir que o Entity muda a estrutura das minha tabelas (DDL -> Create , Alter, Drop) em relação as minhas entidade mapedas, pois somente o DBA pode fazer isso ? Obrigado

2 respostas

Olá, WBrito!

Você quer que o desenvolvedor altere o esquema do banco de dados através do Entity, correto? Nesse caso, você pode criar um usuário (ou login ou database role) no banco de dados sem permissão para alterar a estrutura das tabelas (veja como negar permissões em https://docs.microsoft.com/pt-br/sql/t-sql/statements/permissions-grant-deny-revoke-azure-sql-data-warehouse-parallel-data-warehouse) e, com esse novo usuário (ou login ou database role) sem permissões, você redefine a string de conexão do Entity Framework para o SQL Server, e assim o Entity Framework fica limitado para não poder mais alterar os objetos do banco de dados.

solução!

Olá Marcio, eu quero que o Entity não crie e nem altere a estrutura(DDL) automaticamente das tabelas no meu banco de dados. Procurei na internet e verifique que existe um inicializador para que o EF não altere a estrutura no meu banco com relação a minha classe de identidades é: Database.SetInitializer(null);

http://www.entityframeworktutorial.net/code-first/turn-off-database-initialization-in-code-first.aspx

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software