document`

Post on 24-May-2015

86 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Mapeamento Objeto-Relacionalcom o Entity Framework

Rogério Moraes de CarvalhoVITA Informática

http://rogeriomc.wordpress.com

@rogeriomc

Agenda

Mapeamento Objeto-Relacional Entity Framework Entity Framework e Visual Studio Entity Framework e LINQ para Entidades Modelos de desenvolvimento do EF Novidades do Entity Framework 5 Demonstração O que esperar do Entity Framework 6? Recursos

Mapeamento Objeto-Relacional

ORM, do inglês: Object-Relational Mapping Técnica de desenvolvimento

Permite automatizar tarefas de POO com dados armazenados em bancos de dados relacionais

Frameworks mapeiam objetos de domínio a objetos de banco de dados e geram comandos em SQL

Principais frameworks de ORM para .NET Entity Framework (Open Source – Microsoft) (Open Source – http

://nhforge.org/)

Entity Framework

O que é o Entity Framework (EF)? Framework para mapear objetos de domínio

para dados relacionais O EF 5 é distribuído como um pacote do NuGet

Funciona com o .NET Framework 4 com limitações Funciona com o .NET Framework 4.5 com acréscimos

Suporte a tipos de dados enum e espaciais Auto Query Cache (desempenho melhorado)

O EF 6 será liberado em 18 de outubro de 2013 Junto com o Visual Studio 2013 e o Windows 8.1 GA

Entity Framework e Visual Studio

Entity Framework 5 Visual Studio 2010

.NET Framework 4: suporte parcial Visual Studio 2012

.NET Framework 4: suporte parcial .NET Framework 4.5: suporte completo

Entity Framework 6 (18 de outubro de 2013) Visual Studio 2010 / Visual Studio 2012

.NET Framework 4 / .NET Framework 4.5: suporte completo Visual Studio 2013 (18 de outubro de 2013)

.NET Framework 4 / .NET Framework 4.5 / .NET Framework 4.5.1: suporte completo

Entity Framework e LINQ para Entidades

Aplicação

Banco de dados

Entity Framework

from c in db.Fornecedoreswhere c.UF == "DF"select s.NomeEmpresa

Consulta LINQdb: instância de DbContext

Consulta SQL

SELECT NomeEmpresaFROM FornecedoresWHERE UF = 'DF'

Registros

Entidades db.SaveChanges()

DML ou Stored Procedures

db.Fornecedores.Add(f1);f2.UF = "SP";db.Fornecedores.Remove(f3);

INSERT INTO Fornecedores …UPDATE Fornecedores …DELETE FROM Fornecedores …

Modelos de desenvolvimento do EF5

Novobanco

Bancoexistente

Database First• Engenharia reversa para o modelo .edmx• Geração automática de classes do .edmx

Model First• Criação do modelo .edmx no designer• Geração do banco de dados do .edmx• Geração automática de classes do .edmx

Code First• Definição de classes e mapeamento no código

(ferramentas de engenharia reversa disponíveis)

Code First• Definição de classes e mapeamento no código• Criação automática do banco de dados

em tempo de execução

Baseado no designer Baseado em codificação

Novidades do Entity Framework 5

EF Designer e Code First Suporte a Enum Tipos de dados espaciais (geography e geometry)

Somente EF Designer Suporte a Table-Valued Functions (TVFs) Múltiplos diagramas e coloração Geração de código com DbContext

Demonstração

Abordagens de desenvolvimento do EF5 Database First Model First Code First

System.Data.Entity.DbContext Classe para consultar e persistir mudanças numa fonte

de dados SQL Profiler

Monitorando instruções SQL enviadas para o SQL Server

O que esperar do Entity Framework 6?

Consultas e salvamento assíncrono (async/await) Suporte a Task-Based Asynchronous Pattern (TAP)

Convenções personalizadas para Code First Mapeamento Code First para stored procedures

Para operações de inclusão, atualização e exclusão Configurações baseadas em código Suporte a dados enums e espaciais no .NET 4.0 Consolidação do EF Power Tools e do EF Designer

Recursos

MSDN Data Developer Center – Entity Framework http://msdn.microsoft.com/en-us/data/ef.aspx

Projeto do Entity Framework no CodePlex http://entityframework.codeplex.com

Livros da Julia Lerman Programming Entity Framework: Code First

http://shop.oreilly.com/product/0636920022220.do Programming Entity Framework: DbContext

http://shop.oreilly.com/product/0636920022237.do

top related