Model-First Development


A versão atual do Entity Framework trabalha com o conceito conhecido como “database-first”. Neste caso, você precisa primeiramente criar a base de dados, definir as tabelas, as colunas e suas características, constraints e, depois disso, a IDE analisará todo o schema da mesma e irá construir o modelo de classes olhando para ele, inclusive levando em consideração os possíveis relcionamentos definidos, para tentar criar as associações entre as classes que farão parte do sistema. Quando você tiver tem uma base de dados que está bem definida e funcional, esse modelo é bem interessante, já que ele (re)utiliza todo o trabalho que foi realizado na construção da mesma, tendo apenas que acertar alguns detalhes.

Mas o mapeamento entre o mundo relacional e orientado a objetos é bem mais complexo do que isso. Nem sempre temos uma entidade por registro/tabela. Algumas características que são salvas no banco de dados como uma coluna normal, utilizando um tipo de dado convencional, no mundo orientado à objetos, isso pode ser representado por uma especialização (herança) ou até mesmo um outro objeto mais complexo que possui, além de suas características (propriedades), um funcionamento próprio (métodos e eventos). Esses são alguns dos “problemas” encontrados neste modelo de desenvolvimento que o Entity Framework atualmente possui.

Eu coloquei a palavra problemas entre aspas que, ao meu ver, isso é uma característica deste modelo e não uma deficiência. Aqueles que muitas vezes optam por iniciar no desenvolvimento da estrutura de classes da aplicação, não irá ter benefício nenhum do uso desta técnica. A partir da versão 2.0 do Entity Framework, que será lançada em conjunto com o .NET Framework 4.0 e o Visual Studio .NET 2010, irá incorporar o modelo de desenvolvimento conhecido como “model-first” que, como o próprio nome diz, baseando na estrutura de classes e suas associações, conseguirá extrair o modelo relacional, gerando os scripts necessários para a criação das tabelas, colunas e possíveis relacionamentos em uma base de dados.

Anúncios

Um comentário sobre “Model-First Development

  1. Parece ser uma funcionalidade muito útil do .NET 4.0, principalmente para quem ficou órfão do abandonado Visio for Enterprise Architects…

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s