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
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...