.NET

16 jun, 2008

Estudando o ADO.NET Entity Framework

Publicidade

[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!