Apresentação em Projeto de Sistemas, no curso de Graduação em Sistemas de Informação, na PUC Minas no campus Barreiro.
Relatório com informações valiosas para programadores que desejam conhecer o potencial da ferramenta para persistência Entity Framework. Acesse https://www.desenvolvedormatteus.com.br/ para conhecer as soluções da web disponíveis para seu negócio.
2. Entity - O que é?
Framework de mapeamento objeto relacional (ORM), que permite a relação das classes (entidades)
diretamente com tabelas do banco de dados evitando a necessidade de utilizar códigos de banco na
aplicação (INSERT, DELETE, ETC) e possibilitando que os desenvolvedores trabalhem em um nível
mais alto de abstração criando e mantendo aplicativos orientados a objetos com menos código de
maneira geral, do que em aplicativos tradicionais.
3. Arquitetura
A comunicação do Entity Framework com o banco
de dados é feita através do ADO.Net Provider,
que funciona como um “driver” do banco de dados,
normalmente desenvolvido pelo próprio fabricante
do banco, ou em alguns casos por um terceiro.
Sendo assim, todos os comandos submetidos pelo
Entity Framework são “traduzidos” para a
linguagem do banco de dados através do
seu provider, gerando os comandos SQL mais
adequados a cada operação e principalmente,
comandos que tenham o máximo de desempenho.
4. Arquitetura
EDM: Entity Data Model
Modelo conceitual
Mapeamento
Armazenamento
LINQ to Entities: fornece suporte às consultas LINQ
Entity SQL é uma variação da SQL
permite que você realize consultas, inclusões, atualizações e
exclusões de dados
EntityClient Data Provider gerencia conexões, traduz
consultas de entidades em consultas específicas da fonte
de dados
ADO.Net Data Provider é uma camada que se comunica
com o banco de dados usando a ADO .NET padrão.
5. Funcionalidades
● Ferramenta de “ORM” (Object-relational Mapping)
● Permite executar açõe CRUD com tabelas, Stored, Procedures e Views
● Permite Transações e controle de Concorrência
● Desenvolvido para suportar diferentes base de dados num mesmo projeto
● Vários providers disponíveis(SQL Server, Oracle, Mysql, DB2 entre outros
7. Associações, navegação e herança
4.2. Associações
São relações definidas explicitamente entre entidades. Tais relações são definidas basicamente via FOREIGN KEYS. 1.. 1; 1..* ;
*..*. Atributos dos modelos refletem campos das tabelas. É necessário que existam propriedades nos modelos que sejam
“mapas” para chaves estrangeiras configuradas nas tabelas.
Polimorfismo
Recursão
4.2.1. Navegação
Propriedade de uma entidade que permite gerenciar relações entre as entidades.
4.2.2 Herança
Herança é utilizada basicamente para reutilizar código, onde propriedades comuns de algumas classes são unidas em uma só. O
esquema mais usado é TPH – Uma tabela por hierarquia – onde uma coluna “discriminadora” é referência à especialização.
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="planetype", strategy = InheritanceType.TABLE_PER_CLASS
discriminatorType=DiscriminatorType.STRING )
8.
9. Exemplo práticos
• Code-First
– Mais utilizado
– Código escrito primeiro e tabelas geradas conforme as
classes
• Model-First
– Classes geradas conforme as tabelas
– Útil quando já se tem um banco de dados
21. Referencias
Marcoratti, J. C. (2015). “Entity Framework – apresentação e arquitetura”. Disponivel em: <https://imasters.com.br/framework/entity-
framework-apresentacao-e-arquitetura/?trace=1519021197&source=single>. Acesso: Maio.
Microsoft. (2012). “Visão geral do Entity Framework” Disponivel em: <https://msdn.microsoft.com/pt-
br/library/bb399567(v=vs.110).aspx>. Acesso: Maio
Fernando Henrique Inocêncio Borba Ferreira
Ferreira, H. C (2012). “Construindo sua camada de acesso a dados com o Entity Framework 4.1” Disponível em:
<https://ferhenriquef.com/page/3/?s=entity+framework> . Acesso em Maio
Entity FrameWork Tutorial. “Entity Relationships: Disponivel em: <http://www.entityframeworktutorial.net/entity-relationships.aspx>.
Acesso: Maio.
Microsoft. “Database Provides”. Disponível em <https://docs.microsoft.com/en-us/ef/core/providers/> . Acesso: Maio.
22. Microsoft. “Implementing Inheritance with the Entity Framework 6 in an ASP.NET MVC 5 Application (11 of 12)” Disponivel em:
<https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-inheritance-with-
the-entity-framework-in-an-asp-net-mvc-application>. Acesso: Maio.
Entity FrameWork Tutorial. “Entity Relationships: Disponivel em: <http://www.entityframeworktutorial.net/code-first/entity-framework-
code-first.aspx>. Acesso: Maio.
Microsoft. “Entity Framework Connections and Models” Disponível em: <https://msdn.microsoft.com/en-
us/library/jj592674(v=vs.113).aspx>. Acesso: Maio.
GUERRA L. R, ZAINA M. A. L, (2014): “MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO“ Disponivel em:
http://fatecid.com.br/reverte/index.php/revista/article/viewFile/9/10 Acesso: Maio
MAYUMI, Priscila. (2016)“ Entity Framework - Conceitos e recursos básicos” Revista Esy Net Magazine. Disponivel em:
http://www.devmedia.com.br/entity-framework-conceitos-e-recursos-basicos-revista-easy-net-magazine-29/27764 Acesso: Maio
Microsoft (2016) “Visão Geral do Entity framework” Disponivel em:
https://msdn.microsoft.com/pt-br/library/bb399567(v=vs.110).aspx Acesso: Maio