Dev (Back & Front)ARTIGO

Estudando o ADO.NET Entity Framework

[Artigo recomendando para Visual Studio 2008;SP1]

Com o lançamento do novo modelo de acesso a dados na plataforma .NET, conhecido como ADO.NET, ganhamos um 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 a evolução da plataforma .NET, passamos a contar com o modelo de acesso a dados baseado no TableAdapter que, em conjunto com DataSet , 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 mecanismo de acessar o banco sem precisar ter 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 é o 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.

Figura 01 - Criando Entity Data Model.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.

Figura 02 - Assistente para mapeamento.Figura 02 – Assistente para mapeamento.

Selecionando objetos para mapeamento.Figura 03 – Selecionando objetos para mapeamento.

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

Figura 04 - Diagrama de classe representando o mapeamento.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.

Figura 05 - Visualização do Molde Browser.Figura 05 – Visualização do Molde Browser.

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

Figura 06 - Consultando Entity Framework usando LINQ to Entity.Figura 06 – Consultando Entity Framework usando LINQ to Entity.

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

 Figura 07 - Criando Entity Data Source. Figura 07 – Criando Entity Data Source.

Figura 08 - Configurando Entity Data Source.Figura 08 – Configurando Entity Data Source.

Agora o próximo passo é configurar o GridView para paginar e atualizar os registros, conforme figura 09.

Figura 09 - Configurando GridView.Figura 09 – Configurando GridView.

Como 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 num 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!

é diretor executivo na 2PC Brasil. Especialista em desenvolvimento de software focando em Agile Application Lifecycle Management (ALM) com diversas certificações, como Microsoft MVP Visual Studio ALM, Professional Scrum Developer (PSD), Professional Scrum Master (PSM), Certified ScrumMaster (CSM). É autor dos livros “Desenvolvendo para web usando o Visual Studio 2008” e “Gerenciando projetos de software usando Visual Studio Team System” pela editora Brasport. Palestrante nos principais eventos no Brasil, como TechEd (2005-2011) e Campus Party Brasil (2009-2012) além eventos regionais relacionados a grupos de usuários e universidades. Pesquisador de marketing digital, redes sociais, gestão 2.0 e agilidade. Para contatos, @ramonduraes no twitter.

Ver perfil