O ADO.NET Entity Framework (EF) é a ferramenta de persistência e mapeamento objeto / relacional nativa do .NET Framework, concorrente direto do NHibernate. Ele originalmente apareceu pela primeira vez no Service Pack 1 do Visual Studio 2008 / .NET 3.5. No Visual Studio 2010 / .NET 4.0 ele está na sua versão 2, apesar de normalmente nos referenciarmos a ele por EF4 (versão 4).

O ADO.NET EF permite o desenvolvimento de aplicações para .NET onde o foco principal é a orientação a objetos, sem uma comunicação direta com um servidor de banco de dados relacional, como o SQL Server. É o framework que gera todos os comandos SQL. A última versão permite que o desenvolvedor inicie a criação de um aplicativo pela definição do domínio (entidades), com um diagrama de classes, podendo a seguir gerar todo o esquema para o SGBDR. Essa técnica é conhecida como Model First Development. Se já possui um banco existente, o EF pode fazer a engenharia reversa, gerando entidades no modelo a partir do BD.

Outra característica interessante do EF é a capacidade de suportar tipos complexos, uma novidade da última versão, bem como Lazy Loading, que permite o carregamento de entidades relacionadas conforme utilização. O que considero um dos melhores recursos é o novo suporte a POCO (Plain Old CLR Objects), onde podemos modelar o domínio da aplicação, com as entidades, sem gerar código que esteja atrelado ao framework ou a uma tecnologia em específico. As classes do domínio simplesmente mapeiam a tabela do banco, normalmente sem conter métodos ou derivar de uma classe base para que possam funcionar. Isso dá uma maior flexibilidade e independência ao se trabalhar com o EF. Isso é importante para aplicações em camadas, que preza por baixo acoplamento entre suas partes. O DDD (Domain Driven Design) é a área da Orientação da Objetos que foca na modelagem e arquitetura usando estes princ ípios.

...
Quer ler esse conteúdo completo? Tenha acesso completo