Buscar

Entity Framework: EF6.x e EF Core

Prévia do material em texto

DOCENTE: JOSÉ QUEIRÓS
UNIVERSIDADE DE BELAS – UNIBELAS
FACULDADE DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA
__________________ || ____________________
DISCIPLINA: POO-IV
E-mail: jose.queiros@fduan.ao
Entity Framework
O Entity Framework é uma ferramenta ORM (Object-relational mapping) que
permite ao desenvolvedor trabalhar com dados relacionais na forma de objectos
específicos do domínio.
Existem duas versões do Entity Framework: Entity Framework Core e Entity
Framework 6.x.
Entity Framework 6.x
O Entity Framework 6.x (EF6.x) é uma tecnologia de acesso a dados testada,
relativamente madura e estável. Foi lançado pela primeira vez em 2008, como
parte do .NET Framework 3.5 e do Visual Studio 2008. Começando com a
versão EF4.1, foi enviado como o pacote EntityFramework NuGet - atualmente o
pacote mais popular no NuGet.org.
Entity Framework
O EF6.x continua a ser um produto suportado e continuará a ver correções de
bugs e pequenas melhorias por algum tempo.
Entity Framework Core
O Entity Framework Core (EF Core) é uma versão leve, extensível e
multiplataforma do Entity Framework. O EF Core introduz muitas melhorias e
novos recursos quando comparado com o EF6.x. Ao mesmo tempo, o EF Core é
uma nova base de código e um novo produto.
O EF Core mantém a experiência do desenvolvedor do EF6.x e a maioria das APIs
de alto nível permanece a mesma, portanto, o EF Core vai parecer muito familiar
para quem já usou o EF6.x. Ao mesmo tempo, o EF Core é construído sobre um
conjunto completamente novo de componentes principais.
Entity Framework
Isso significa que o EF Core não herda automaticamente todos os recursos do
EF6.x. Alguns desses recursos aparecerão em lançamentos futuros (como o lazy
loading e a resiliência da conexão), outros recursos menos usados não serão
implementados no EF Core.
O novo núcleo , extensível e leve também permitiu adicionar alguns recursos ao
EF Core que não serão implementados no EF6.x (como chaves alternativas e
avaliação mista de cliente/banco de dados em consultas LINQ).
Entity Framework
Nota1: Usar as duas versões em uma mesma aplicação é possível pois elas 
possuem os mesmos tipos diferindo apenas no namespaces e isso pode tornar a 
manutenção do seu código muito complexa.
Nota2: Devido a mudanças estruturais feitas no EF Core não é recomendado 
mover uma aplicação que usa o EF 6.x para o EF Core a não se que isso se caso 
de 'vida ou morte’.
Com isso em mente vamos iniciar a nossa jornada com o Entity Framework Core 
de agora em diante EF Core.
Entity Framework
Entity Framework Core
O EF Core é um mapeador objecto-relacional (O/RM) que permite aos
desenvolvedores .NET trabalhar com um banco de dados usando objectos .NET.
Elimina a necessidade da maior parte do código de acesso a dados que os
desenvolvedores normalmente precisam escrever. O EF Core suporta muitos
mecanismos de base de dados.
Entity Framework
Entity Framework Core
O EF Core é uma versão totalmente nova baseada no EF 6.x :
•Foi reescrito a partir do zero;
•É multiplataforma (Windows, Mac e Linux);
•É Modular e suporta diversos provedores: SQL Server, MySQL, PostgreSQL, 
Oracle, SQLite, SQLCompact, DB2, InMemory, Azure Table Storage, etc;
•É open source e esta disponível no GitHub;
•Pode ser usado em aplicações Windows Forms, WPF, Console, ASP .NET, ASP 
.NET Core, WUP, Xamarin (em breve), etc;
•Suporta as abordagens : Code First, Database First, Shadow Properties, Alternate 
Keys, etc;
•Suporta a ferramenta de linha de comando : NET Core CLI
•Pode ser instalado via Nuget : Install-Package 
Microsoft.EntityFrameworkCore.SqlServer
Entity Framework
Entity Framework Core
O modelo
Com o EF Core, o acesso a dados é executado usando um modelo. Um modelo é 
composto de classes de entidade e um contexto derivado que representa uma 
sessão com o banco de dados, permitindo que você pesquise e salve dados.
Podemos criar um modelo usando as seguintes abordagens:
1 - Você pode gerar um modelo a partir de um banco de dados existente;
2 - Codificar manualmente um modelo para corresponder ao seu banco de dados;
3 - Usar o EF Migrations para criar um banco de dados a partir do seu modelo (e 
depois evoluí-lo conforme seu modelo muda ao longo do tempo).
Entity Framework
Instalação do Entity Framework Core
Introdução ao ASP.NET MVC
Trabalho Pártico…Instalar os seguintes pacotes:

Mais conteúdos dessa disciplina