2. Sobre
Especialista em desenvolvimento web, graduado no
curso Superior de Tecnologia em Processamento de
Dados pela Faculdade de Tecnologia de São Paulo –
Fatec-SP.
Trabalha no portal Minha Vida, o maior portal de
Saúde e Bem-estar do Brasil, onde participa de projetos
visando sempre desenhar e criar soluções de alta
performance e alta escalabilidade.
3. ADO Entity Framework
ORM (Object Relational Mapping)
Principal ferramenta de persistência de dados na
plataforma .NET.
Integrante do ADO .NET
Open Source (http://entityframework.codeplex.com/)
4. Vantagens
Setup rápido
Sem Gerenciamento manual
Chaves, relacionamentos
Lazy Load
Validação
Inteligente => update somente nos valores alterados
Suporte a vários RDMS (relational database
management system)
Seguro ( ! SQL Injection)
5. “Real” Web Applications?
N Camadas
Sai do CRUD básico
Diversos projetos
Complexidade em Logica/Views
Performance
Concorrência
Injeção de Dependencia (EF)
7. Considerações “Real” Web
Use o padrão Repository
Converta todas collections para Ienumerable
Evita execução for a do escopo do contexto
var customer = ctx.Customers;
var customer = ctx.Customers.ToList();
Crie um novo context por requisição – Não cacheie
8. Considerações MVC
Para Views não use entidades do EF, mapeie em
ViewModels
http://automapper.org/
DbContext não thread safe.
Instancie um novo por requisição no contrutor, ou no DI
Não cacheie ou use em uma instancia estática
Dispose Context
Não programe consultas com EF no controller