De que se trata o artigo

Este artigo apresentará o uso do ADO.NET Entity Framework como uma ferramenta de mapeamento objeto/relacional para realizar uma modelagem e consultas a fontes de dados, que serão visualizadas e representadas utilizando Delphi Prism em formulários Web.


Para que serve

Serve para abstrair determinados detalhes do Banco de Dados focando na persistência de informações e possibilitando recursos que aumentem a produtividade. O uso de tecnologias para armazenamento e mapeamento do estilo objeto/relacional possibilita amenizar as diferenças entre a orientação a objetos e o modelo relacional, tornando bastante transparente e simplificada esta relação, possibilitando a quem desenvolve utilizar maneiras mais dinâmicas do esquema de um banco de dados e suas regras de negócio.

Em que situação o tema é útil

Na utilização de um Banco de Dados relacional que possibilite tirar proveito do Entity Framework para tornar mais simples o uso das informações contidas neste banco. Dessa forma, amenizando as desigualdades entre um modelo relacional e orientado a objetos, sem que o desenvolvedor precise conhecer profundamente o modelo relacional, ampliando a produtividade.

ADO.NET Entity Framework e Delphi Prism

O artigo demonstrará como utilizar as funcionalidades presentes no ADO.NET Entity Framework para a modelagem de um exemplo simples de Banco de Dados, suas entidades, classes, o mapeamento relacional e de objetos e o uso deste EF com o Delphi Prism. Para isto será criado um projeto do tipo Web Site, a criação do Entity Framework e adicionados Web Forms para a realização de testes com consultas e inserção de informações no banco.

Nos dias atuais, o desenvolvimento de sistemas é uma prática comumente utilizada e o que indica um bom desenvolvimento é um ótimo planejamento (análise), a competência e o prazo (tempo de desenvolvimento), entre outros fatores. A utilização de boas práticas de desenvolvimento aliadas a ferramentas que possibilitam estas práticas permitirá ganhos de produtividade e consequentemente redução do tempo de desenvolvimento, podendo assim a equipe de projeto ficar atenta às regras de análise e testes para que o sistema a ser desenvolvido seja de boa qualidade.

Ao utilizar um ambiente computacional, uma das necessidades mais básicas refere-se à persistência. Ela é a garantia da permanência das informações de uma aplicação em determinado estado, mesmo após seu encerramento. A prática mais comum para a obtenção de tal característica se faz mediante a utilização de um banco de dados relacional.

Banco de dados relacional denota um conceito, sendo este definido no SGBDR (Sistema Gerenciador de Banco de Dados Relacional), o qual possui papel muito importante na manutenção e consulta de grande volume de dados, trazendo entre outros benefícios a recuperação de falhas, velocidade nas pesquisas, acesso concorrente, integridade, independência e segurança dos dados.

A principal dificuldade gira em torno de um problema inerente à disparidade do paradigma objeto/relacional, denominada impedância de dados, que implica em um considerável esforço para transpor as diferenças existentes entre a tecnologia relacional e a orientada a objetos.

O modelo relacional é baseado em princípios matemáticos, tendo suas virtudes relacionadas à capacidade de armazenar grandes volumes de dados, provendo técnicas e conceitos adequados à garantia da integridade dos mesmos, inserindo na abordagem declarativa da linguagem SQL (Structured Query Language) uma maneira eficaz de codificar o que será feito.

Do outro lado, o modelo Orientado a Objetos está fundamentalmente atrelado à engenharia de software, evidenciando a temática imperativa da orientação a objetos, a qual faz uso de conceitos como herança, polimorfismo e encapsulamento, provando assim sua concepção no intuito de indicar como será feito.

O processo de modelagem de um sistema Orientado a Objetos e seus principais conceitos diferem na abordagem referente à tecnologia relacional, existindo muitos desafios quanto à sua utilização, incidindo no empenho em criar um esquema livre de redundâncias relacionadas ao banco de dados. Além disso, podem existir problemas relacionados a desempenho e uma série de outras incompatibilidades, que impõem dificuldades tais como: Granularidade, Subtipos, Identidade, Associações e Navegação.

Partindo deste princípio, com o Visual Studio 2008 surgiu o Linq To Sql, uma forma de utilizar o padrão Linq para realizar consultas SQL em bancos de dados. Este foi um grande avanço que permitiu deixar de escrever instruções SQL engessadas no código e passou a utilizar queries fortemente tipadas.

Após o Linq To Sql surgiu o Entity Framework como uma ferramenta ORM. Com o Entity Framework 1.0 ocorreram mudanças na forma como os desenvolvedores e os projetos passaram a trabalhar com o banco de dados, possibilitando que a atenção fique mais voltada às regras e lógicas do negócio.

O ADO.NET Entity Framework 4 permite realizar a modelagem e o acesso as informações de um Banco de Dados deixando o desenvolvedor transparente às regras de negócio podendo trabalhar com um modelo conceitual do banco de dados. Uma das vantagens é que o mapeamento dos objetos do banco e o próprio banco de dados podem ser alterados sem prejuízo para o desenvolvimento do sistema, a camada de aplicação torna-se independente da camada de acesso a dados.

Capaz de abstrair o esquema de um banco de dados relacional e apresentá-lo como um modelo conceitual, mapeando tabelas para entidades (objetos que representam dados), e preenchendo as lacunas existentes entre o modelo relacional e orientado a objetos, o ADO.NET Entity Framework é uma ferramenta ORM robusta, e suas capacidades de modelagem, acesso e manipulação de dados diminuem o ruído inerente às diferenças de impedância.

Todo o acesso a dados e armazenamento é feito através de um modelo de dados conceitual, que reflete as tabelas do banco na forma de entidades, livrando o desenvolvedor de se concentrar no seu mapeamento manual e ainda da escrita direta de consultas SQL. Essas tarefas eram tediosas e exigiam conhecimento avançado de banco de dados.

...
Quer ler esse conteúdo completo? Tenha acesso completo