/ / Como manter o Entity Framework e o banco de dados alinhados - linq, linq-to-sql, entity-framework

Como manter o Entity Framework e o banco de dados alinhados - linq, linq-to-sql, entity-framework

nos primeiros estágios de desenvolvimento, o banco de dados está sujeito a mudanças contínuas. Eu estou brincando com LinqToSQL e na maioria dos casos, o modelo de entidade é apenas uma representação de 1: 1 do banco de dados.

Como posso manter o modelo atualizado com as alterações do banco de dados?

Obrigado.

Respostas:

1 para resposta № 1

Pode ter que fazer algo parecido com o que é explicado Aqui. Mas, pessoalmente, eu prefiro a estrutura da entidade (as entidades do ADO.net são suportadas por padrão e podem ser atualizadas com um simples clique do botão direito do mouse).

//editar

Parece que um simples arrastar e soltar também funcionará.

Para algumas pessoas, esta questão é discutível. É fácil usar o mecanismo atual de “resync” no LINQ para SQL excluindo todas as classes de entidade e funções (o termo LINQ to SQL para sprocs e UDFs) no designer superfície e, em seguida, redragging e soltando as tabelas e funções de juros, atualizando assim a entidade classes regenerando a partir do zero. No entanto, para outros, esta solução é não é bom o suficiente por alguns motivos:

que você pode ler Aqui.


1 para resposta № 2

Percebi que há um "modelo de atualização debanco de dados "comando disponível se você clicar com o botão direito do mouse na superfície de design do Entity Framework. Eu não poderia encontrar uma coisa dessas para LINQ to SQL, portanto, talvez você precise manter com a mão.

OTOH, é apenas XML, então você poderia "apenas escrever algum código".


A outra coisa a acrescentar é que eu prefiro o fato de que na EF, eu não tem que mantenha-se atualizado com o banco de dados físico. Estou definindo as entidades que os desenvolvedores usarão para acessar os dados e, separadamente, estou definindo o mapeamento entre essas entidades e a estrutura lógica do banco de dados.

Eles não precisam ser o mesmo. Se eu quiser dividir uma tabela em duas ou combinar duas entidades em uma tabela, posso fazer isso sem exigir que os desenvolvedores reescrevam o código.