Desenvolvimento - ADO.NET

Introdução ao ADO.NET Entity Framework

Conforme você verá nesse artigo o Linq to Entity abre um novo leque de oportunidades na construção de aplicações baseadas em orientação a objetos usando o novo modelo de mapeamento objeto relacional que visa abstrair todo código de acesso a dados colocando o desenvolvedor um novo patamar de produtividade.

por Ramon Durães



Com lançamento do novo modelo de acesso a dados na plataforma .NET conhecido como ADO.NET ganhamos um o acesso a dados nativo de alto desempenho ao SQLServer e Oracle superando os modelos tradicionais de outras plataformas.

O modelo do ADO.NET trouxe dois modos principais de acordo com o tipo de conexão estabelecida com o banco de  dados. O primeiro conhecido como  DataReader de alta performance  destinado ao acesso conectado  e modelo DataSet destinado ao modelo desconectado que funciona numa estrutura muito parecida ao banco de dados de forma off-line permitindo conter tabelas, relacionamentos, chaves primarias e manipulação das informações baseadas em coleção de objetos.

Com evolução da plataforma .NET passamos a contar com o modelo de acesso a dados baseado no TableAdapter que em conjunto com DataSet  que já permitiu criar de forma rápida uma camada de CRUD (Create, Read, Update, Delete) para acesso a dados já estabelecendo o primeiro contato com modelo objeto relacional O/R dispensando a necessidade de se fazer código ADO.NET manualmente.

Com o lançamento do .NET 3.5 foi incorporado ao mesmo o  LINQ (Language Integrated Query) que oferece uma importante característica no .NET com a possibilidade de fazer consultas em cima de objetos.

Acompanhando a evolução da plataforma .NET agora temos a disposição o modelo ADO.NET Entity Framework que vai oferecer o mapeamento objeto relacional (O/R) de forma a permitir o mapeamento das tabelas do banco de dados como objetos para abstrair o acesso a dados deixando para o desenvolvedor que já conhece orientação a objetos mais um grande mecanismos de acessar banco de dados sem precisar conhecimento aprofundado de banco de dados e de T-SQL (Trasact SQL).

Com o LINQ to Entity Framework você poderá fazer mapeamento para diversas bases de dados (SQLServer, Oracle, DB2, MySql, PostgreSQL, SQLite, VistaDB, Informix, Sybase ... ) assim como para outras fontes como XML e serviços.

O primeiro passo é adicionar um novo mapeamento  Entity Data Model que é arquivo 
XML com as informações do banco de dados e das classes que será nossa visão. Para iniciar vá ao Visual Studio 2008 SP1 e adicione um novo arquivo Entity Data Model cuja extensão é “*.edmx” conforme figura 01 e figura 02.

fig01.jpg
Figura 01 – Criando Entity Data Model.

Após adicionar o arquivo você será direcionado pelo assistente para conectar no seu banco de dados  e fazer o mapeamento escolhendo as tabelas, views, procedures, funções


fig02.jpg
Figura 02 – Assistente para mapeamento.

fig03.jpg
Figura 03 – Selecionando objetos para mapeamento.

Após avançar terá como resultado o diagrama de classes conforme a figura 04.

fig04.jpg
Figura 04 – Diagrama de classe representando o mapeamento

Todas as classes mapeadas estarão dentro do Entity Data Model de nome “Banco01Model” conforme figura 05.

fig05.jpg
Figura 05 – Visualização do Molde Browser

Com diagrama criado conforme figura 04 você já pode usar o LINQ para fazer todas operações de consultas em seus objetos. Para um primeiro testes você pode adicionar uma nova pagina e arrastar um controle do tipo GridView e incluir o seguinte código de teste no Page_Load conforme exemplo na figura 06.

fig06.jpg
Figura 06 – Consultando Entity Framework usando LINQ to Entity.

Conforme você pode observar no simples código de exemplo estamos fazendo uma consulta usando LINQ na coleção de objetos Clientes e armazenando o resultado no objeto consulta. Depois estamos fazendo a vinculação  com um GridView.

Para o desenvolvedor ele não vai precisar escrever código .NET para acessar o banco de dados e no lugar do T-SQL para as consultas vai usar o LINQ que é totalmente integrado
ao IntelliSense do Visual Studio. Isso representa um enorme ganho de produtividade.


Você também vai poder vincular o GridView diretamente pelo IDE usando criando um novo Entiy Data Source conforme figura 07.

fig07.jpg
Figura 07 – Criando Entity Data Source.

fig08.jpg
Figura 08 – Configurando Entity Data Source

Agora o próximo passo é configura o GridView para paginar e atualizar registros conforme figura 09.
fig09.jpg
Figura 09 – Configurando GridView

Conforme você conferiu nesse artigo o Linq to Entity abre um novo leque de oportunidades na construção de aplicações baseadas em orientação a objetos usando o novo modelo de mapeamento objeto relacional que visa abstrair todo código de acesso a dados colocando o desenvolvedor um novo patamar de produtividade.

Comente esse artigo e não se esqueça de uma frase importante “Não tem que ser difícil”. Até a próxima!

Ramon Durães

Ramon Durães - Especialista em desenvolvimento de software e Microsoft Most Valuable Professional (MVP) em Visual Studio Team System. Realiza treinamentos de .NET Framework em empresas, consultoria em arquitetura de software e implantação de Visual Studio Team System. Palestrante nos principais eventos da Microsoft no Brasil (Tech-Ed 2005, Tech-Ed 2006, Tech-Ed 2007, Tech-Ed 2008, Tech-ED 2009), Microsoft Innovation Days 2007 (Salvador, Brasília, Recife, Goiânia, Natal, Maringá), Microsoft Innovation Days 2009 (Salvador) , Campus Party Brasil 2009 e eventos regionais relacionados a grupos de usuários e universidades. Conhecido autor de artigos para os principais portais de conteúdo e autor de 10 publicações eletrônicas em CD (Video-Aula) pela editora Linha de Código além dos livros "Desenvolvendo para web usando o Visual Studio 2008" e "Gerenciando projetos de software usando Visual Studio Team System" pela editora Brasport. Pode ser encontrado em seu blog http://www.ramonduraes.net e @ramonduraes no Twitter.