Artigo .net Magazine 54 - ADO.NET Entity Framework

Artigo publicado pela Revista .Net Magazine - Edição 54.

Esse artigo faz parte da revista .NET Magazine edição 54. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Boas Práticas – Novidades – Web - Tutorial

ADO.NET Entity Framework

Usando o LINQ to Entities na prática

 

Neste artigo veremos

·ADO.NET Entity Framework;

·LINQ to Entities;

·ASP.NET 3.5.

Qual a finalidade

·Conhecer o ADO.NET Entity Framework na prática.

Quais situações utilizam esses recursos?

·Aplicações Orientadas a Objetos com Acesso a Dados.

 

Resumo do DevMan

O ADO.NET Entity Framework é uma ferramenta de mapeamento objeto/relacional que usa essencialmente a linguagem LINQ para acesso aos dados. Veja neste artigo como utilizar o ADO.NET Entity Framework nas suas aplicações.

 

Recentemente na última edição da .net Magazine eu escrevi um artigo comparativo entre o NHibernate e o LINQ, mais especificamente o LINQ to Entities do ADO.NET Entity Framework.

Na ocasião, fizemos um exemplo muito simples da utilização do ADO.NET Entity Framework com relação ao NHibernate, e os resultados finais foram muito bons. O ADO.NET Entity Framework é uma ferramenta de acesso a dados que merece muito a nossa atenção.

Apesar de estar praticamente nascendo agora, a proposta do ADO.NET Entity Framework é bastante ousada, e talvez essa seja a tecnologia que deve consagrar de vez o LINQ como um novo padrão de linguagem de consulta de dados.

O ADO.NET Entity Framework oferece uma forma diferente de criar uma aplicação, focando o desenvolvimento no Modelo da Aplicação (Objetos), em vez de focar o desenvolvimento em um Modelo Relacional de armazenamento de dados.

Neste artigo o nosso objetivo será explorar mais a fundo o uso do ADO.NET Entity Framework. Para isso vamos desenvolver uma aplicação completa, do início ao fim, utilizando essa nova tecnologia da Microsoft para acesso a dados.

 

Baixando e Instalando o ADO.NET Entity Framework

O primeiro pré-requisito para a utilização do ADO.NET Entity Framework é o Visual Studio 2008. Infelizmente o ADO.NET Entity Framework não é nativo na versão 3.5 do .NET Framework. Mas ele pode ser instalado à parte.

Temos duas formas de se instalar o ADO.NET Entity Framework. Uma é pelo pacote chamado ADO.NET Entity Framework Beta 3, que pode ser baixado através do seguinte link:

http://www.microsoft.com/downloads/details.aspx?FamilyId=15DB9989-1621-444D-9B18-D1A04A21B519&displaylang=en

Ou ainda, através do Service Pack 1 do Visual Studio 2008/.NET Framework 3.5, que até o fechamento deste artigo ainda estava na sua versão Beta. Se optar por instalar a versão Beta do VS2008 acesse o seguinte link: http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx. Lembrando é claro, que é possível que o Service Pack 1 já esteja disponível em sua versão final.

Para os exemplos realizados neste artigo, foi instalado o ADO.NET Entity Framework Beta 3 em uma máquina com o Visual Studio 2008 Professional. Adicionalmente, se você optou por utilizar este pacote, também será necessário baixar e instalar o ADO.NET Entity Framework Tools Dec 07 CTP (http://www.microsoft.com/downloads/details.aspx?FamilyId=D8AE4404-8E05-41FC-94C8-C73D9E238F82&displaylang=en ).

Este pacote adicional contém as ferramentas do Visual Studio para trabalhar com o ADO.NET Entity Framework. Para ter certeza de que tudo foi instalado corretamente, e que você possui os recursos do ADO.NET Entity Framework disponíveis no Visual Studio, crie um projeto qualquer e adicione um novo item a ele. Assim como mostra a Figura 1, você deverá encontrar um template chamado ADO.NET Entity Data Model. Se este template estiver aí é porque está tudo instalado corretamente.

 

Figura 1. Verificando se o ADO.NET Entity Framework está instalado

 

Mapeamento Objeto/Relacional

Uma das principais vantagens do ADO.NET Entity Framework, que inclusive foi discutida no artigo comparativo da edição passada, é o mapeamento objeto/relacional. Ferramentas de mapeamento objeto/relacional permitem que tenhamos uma representação de dados relacionais em um modelo de objetos.

Existem muitas ferramentas e técnicas que permitem a realização desta tarefa, mas nem todas conseguem oferecer um modelo realmente orientado a objetos. A principal dificuldade de ferramentas deste tipo é a representação da Herança.

A Herança é uma possibilidade da orientação a objetos que aumenta a reusabilidade de recursos que são comuns a determinadas classes. Porém essa é uma característica do modelo de Orientação a Objetos. No modelo Relacional não temos Herança, portanto se quisermos utilizar a Herança no modelo de classes de uma aplicação que armazena dados em banco de dados relacional teremos que fazer um mapeamento objeto/relacional que consiga mapear a herança.

 

Nota do DevMan

A Herança é um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e operações baseados em um relacionamento, geralmente generalização. A herança permite a criação de subclasses que herdam atributos e operações da classe pai (super-classe ou classe base). A herança é um conceito aplicado no momento de criação das classes. Ela é usada na intenção de evitar que classes que possuam atributos ou métodos semelhantes sejam repetidamente criadas.

Como exemplo pode-se observar as classes 'aluno' e 'professor', onde ambas possuem atributos como nome, endereço e telefone. Nesse caso pode-se criar uma nova classe chamada, por exemplo, 'pessoa', que contenha as semelhanças entre as duas classes, fazendo com que aluno e professor herdem as características de pessoa, desta maneira pode-se dizer que aluno e professor são subclasses de pessoa.

 

A maioria das ferramentas O/RM que temos hoje nos força a primeiro criar o banco de dados, para depois criar o modelo de objeto. Isso é necessário porque para essas ferramentas é mais fácil adequar o modelo de objetos ao modelo relacional previamente desenvolvido.

Em ferramentas de O/RM mais avançadas e com poucas limitações, podemos fazer o inverso. Primeiro desenvolvemos nosso modelo de classes e depois criamos o modelo relacional, de acordo com o modelo de classes que foi definido.

A vantagem de se desenvolver primeiro o modelo de classes é que já podemos “pensar” a aplicação no modelo da orientação a objetos. Assim, podemos modelar a nossa estrutura de dados levando em conta recursos como a Herança de classes.

 

ADO.NET Entity Data Model

Sendo assim, como iremos utilizar o ADO.NET Entity Framework, vamos começar o desenvolvimento da nossa aplicação pelo modelo de classes.

Um conceito novo que o ADO.NET Entity Framework nos traz é a Entidade ou a classe EntityType. A idéia é desenvolvermos um modelo de entidades, com as ferramentas do ADO.NET Entity Framework. Com isso podemos criar nossa estrutura de dados num modelo compatível com a orientação a objetos. E posteriormente, através deste mesmo modelo de entidades seremos capazes de fazer o mapeamento objeto/relacional com o banco de dados da nossa escolha.

Sendo assim vamos começar criando o nosso modelo de entidades. A primeira coisa que você deve fazer é criar uma nova aplicação Web no seu " [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados