Este artigo aborda algumas novidades presentes na nova versão do Entity Framework (EF) como o Model First, onde iniciaremos a criação de um exemplo a partir de um modelo ao invés do banco de dados, e a utilização de classes POCO, que são entidades que não dependem de uma tecnologia de persistência em específico.
Para que serve
O EF facilita o desenvolvimento de aplicações orientadas a objetos e esconde detalhes inerentes a infraestrutura de aplicação, nos deixando mais preparados para trabalhar com os problemas de nossos clientes. Além disso, trabalhar com classes POCO é útil quando já temos nossas classes de domínio modeladas e não queremos ter de alterá-las para trabalhar com algum framework específico, neste caso, o EF. Trabalhar com Model First em conjunto com uma ferramenta ORM nos permite fazer o design de nossas classes de domínio, sem nos preocuparmos em como elas estarão mapeadas no banco de dados.
Em que situação o tema é útil
As técnicas vistas neste artigo serão úteis para manter o código limpo e legível, onde as classes contêm apenas informações sobre o próprio sistema ao qual fazem parte. Como não há dependências externas nestas classes, elas podem ser utilizadas em conjunto com outros frameworks ou ferramentas, que continuarão a funcionar sem problemas. Podemos pedir ao Visual Studio que gere o modelo do nosso banco de dados baseado no modelo conceitual que criaremos, tornando mais simples a tarefa de mapeamento de classes para o banco.
Resumo do DevMan
É praticamente impossível encontrar aplicações comerciais que não utilizem armazenamento de dados. E na maioria esmagadora dos casos este armazenamento é feito através de um banco de dados relacional. Neste cenário há um grande esforço para fazer as aplicações orientadas a objetos serem corretamente mapeadas para as tabelas destes bancos de dados relacionais, pois as classes de um sistema OO possuem relações complexas entre si e suas estruturas também são mais complexas do que as estruturas oferecidas pelas tabelas dos bancos de dados. Neste artigo exploraremos algumas técnicas utilizando o EF para conseguirmos nos concentrar 100% na criação de nossas classes, sem ter de alterar suas estruturas e mantendo-as independentes da ferramenta de mapeamento, concentrando nosso tempo e energia em resolver um problema de negócio e não o mapeamento entre negócio e armazenamento.
Com o Visual Studio 2008 surgiu o LinqToSql, uma forma de utilizar o padrão LINQ para realizar consultas SQL em bancos de dados relacionais. Este foi sem dúvida um grande avanço para a comunidade .NET que pôde deixar de escrever instruções SQL dentro do código de suas classes e passou a trabalhar com query’s fortemente tipadas, com auxílio de IntelliSense e do compilador.
Após o LinqToSql a Microsoft lançou o Entity Framework, uma primeira versão de sua ferramenta ORM. Com o Entity Framework 1.0 houve uma grande mudança na forma como os desenvolvedores e os projetos em si passaram a encarar o banco de dados – era então possível se preocupar apenas com o modelo de domínio, as regras e lógicas do negócio, ao invés de se preocupar com a forma como os dados seriam armazenados, organizados e manipulados. Com a nova versão do Entity Framework (EF4) há suporte para técnicas como Model First e trabalho com classes POCO, ambos assuntos discutidos neste artigo.
...