Introdução ao ADO.NET Entity Framework 4 - .net magazine 73

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Este artigo faz uma introdução ao uso da ferramenta de persistência da Microsoft, o ADO.NET Entity Framework 4 (também conhecido como EF4) o qual é utilizado no desenvolvimento de aplicações .NET com acesso a dados. Neste material é feito uso da abordagem Database-First (partindo do banco de dados), técnica esta que está presente desde a primeira versão do ADO.NET Entity Framework.

Atenção: esse artigo tem uma palestra complementar. Clique e assista!

[lead]Do que trata o artigo

Este artigo faz uma introdução ao uso da ferramenta de persistência da Microsoft, o ADO.NET Entity Framework 4 (também conhecido como EF4) o qual é utilizado no desenvolvimento de aplicações .NET com acesso a dados. Neste material é feito uso da abordagem Database-First (partindo do banco de dados), técnica esta que está presente desde a primeira versão do ADO.NET Entity Framework

Para que serve

O surgimento de frameworks OR/M (Object-Relational Mapping), tais como o NHibernate e o ADO.NET Entity Framework, trouxe soluções e benefícios que minimizaram o problema da impedância, focando principalmente na produtividade e simplicidade no que se refere ao desenvolvimento de aplicações com persistência, pois seu uso remove do desenvolvedor o uso de tarefas repetitivas para essa persistência, fazendo com que o desenvolvedor se concentre nas regras de negócio.

Em que situação o tema é útil

Em qualquer desenvolvimento de sistema orientado a objetos e que utilize um banco de dados relacional para salvar suas informações. A utilização do EF4 fornece uma série de recursos para agilizar esse tipo de desenvolvimento.

Resumo do DevMan

Este artigo demonstra, através da implementação passo-a-passo de um exemplo, como iniciar um projeto a partir do banco de dados, realizando seu mapeamento objeto/relacional e criando uma estrutura CRUD (Create, Read, Update, Delete) de maneira totalmente automatizada. Esta é sem dúvida uma alternativa muito interessante do ponto de vista de soluções legadas, onde normalmente utiliza-se um esquema de armazenamento pronto.

Autores: Everton Coimbra de Araújo e Fábio Augusto Pandolfo[/lead]

Em um ambiente computacional, uma das necessidades mais básicas refere-se à persistência. Ela é a garantia da permanência das informações de uma aplicação em determinado estado, mesmo após seu encerramento. A prática mais comum para a obtenção de tal característica se faz mediante a utilização de um banco de dados relacional.

Banco de dados relacional denota um conceito, sendo este definido no SGBDR (Sistema Gerenciador de Banco de Dados Relacional), o qual possui papel muito importante na manutenção e consulta de grande volume de dados, trazendo entre outros benefícios a recuperação de falhas, velocidade nas pesquisas, acesso concorrente, integridade, independência e segurança dos dados.

A grande dificuldade gira em torno de um problema inerente à disparidade do paradigma objeto/relacional, denominada impedância de dados, que implica em um considerável esforço para transpor as diferenças existentes entre a tecnologia relacional e a orientada a objetos.

Este artigo apresenta um primeiro contato com a nova versão do OR/M da Microsoft, denominado ADO.NET Entity Framework 4, além de discutir algumas características e especificações de sua utilização no contexto do mapeamento objeto/relacional.

[subtitulo]Impedância objeto/relacional[/subtitulo]

O modelo relacional é baseado em princípios matemáticos, tendo suas virtudes relacionadas à capacidade de armazenar grandes volumes de dados, provendo técnicas e conceitos adequados à garantia da integridade dos mesmos, inserindo na abordagem declarativa da linguagem SQL (Structured Query Language) uma maneira eficaz de codificar “O QUE” fazer.

Em contrapartida, o modelo Orientado a Objetos (OO) está fundamentalmente atrelado à engenharia de software, evidenciando a temática imperativa da orientação a objetos, a qual faz uso de conceitos como herança, polimorfismo e encapsulamento, provando assim sua concepção no intuito de expressar “COMO” fazer.

O processo de modelagem de um sistema OO e seus principais conceitos diferem na abordagem referente à tecnologia relacional, existindo muitos desafios quanto à sua utilização, incidindo no empenho em criar um esquema livre de redundâncias e ambiguidades relativas aos bancos de dados. Observam-se ainda problemas relacionados a desempenho e uma série de outras incompatibilidades, que impõem dificuldades tais como: Granularidade, Subtipos, Identidade, Associações e Navegação.

[subtitulo]Entity Framework 4[/subtitulo]

O ADO.NET Entity Framework 4, também chamado de EF4, é um Middleware (neologismo criado para designar camadas de software que fazem a mediação entre outros softwares) OR/M com capacidades de modelagem e acesso a dados, sendo uma evolução do pacote de tecnologias ADO.NET, habilitando os desenvolvedores a trabalharem com um esquema conceitual do modelo relacional.

Com o EF4, o mapeamento entre o modelo de objetos e o esquema específico de armazenamento pode mudar sem que seja necessária a alteração do código da aplicação, contando ainda com o auxílio de uma série de validações em tempo de compilação.

Possui portabilidade para os mais variados bancos de dados, sendo um concorrente direto do NHibernate, tendo como diferencial as várias ferramentas visuais e recursos nativos para o Visual Studio, sendo a referência da Microsoft no contexto do mapeamento objeto/relacional.

Utilizando o EF4 o desenvolvedor é encorajado a iniciar escrevendo a lógica da aplicação, fazendo uso de um modelo de objetos OO, que inclui herança, tipos complexos e relacionamentos. Veja um diagrama de sua arquitetura na Figura 1.

[nota]Nota: O ADO.NET Entity Framework 4 é a segunda versão do Entity Framework, adotando este nome por ser parte integrante do .NET 4.0.[/nota]

Figura 1. Arquitetura do EF resumida - Fonte: MSDN

É possível destacar uma série de melhorias nesta evolução, as quais elevam este produto a uma opção muito mais viável para o uso em aplicações do mundo real. São elas:

• PI (Persistence Ignorance);

o É possível definir seus próprios POCO's (Plain Old CLR Objects) desassociados de qualquer tecnologia específica de persistência, permitindo a alteração da camada de acesso a dados de maneira transparente;

• T4 (geração de código);

o T4 é uma tecnologia de geração de código incorporada a partir do Visual Studio 2008 e utilizada pelo Windows Forms Designer, elevando o nível de produtividade;

• Lazy Loading (carga tardia);

o Além de Eager Loading (carga imediata) e Explicit Loading (carga explícita), agora é possível usufruir do Lazy Loading, onde as entidades são carregadas automaticamente, por demanda;

• POCO Change-Tracking (controle de alterações);

o Por padrão o EF4 tomará partido do estado original dos objetos POCO, para então compará-los com a versão atual antes de salvar suas alterações através do método SaveChanges. Definindo as propriedades (da entidade POCO) como virtual, tem-se um comportamento alternativo, onde o estado é continuamente monitorado e mantido em sincronia com o Object State Manager (gestor de estados do EF4);

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?