`
-
Upload
rogerio-moraes-de-carvalho -
Category
Documents
-
view
86 -
download
0
Transcript of `
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