Pessoal, durante o road show mostrei algumas novas funcionalidas do Entity Framework 4, como Model First, EntitySet, como gerar um ORM a partir de um database e para finalizar, usei o POCO para gerar códigos próprios.
As dicas que passei sobre desempenho no EF 4 na hora de carregar o contexto, já tive bons feedbacks de pessoas que implementaram as dicas e melhorou muito o desempenho da app. Algumas das dicas foram:
1 - nao monte o ORM com muitas entitdade, divida-as em modulos.
2 - se for apenas ler dados, implemente views do SQL num ORM somente de views. no sql tais views ficarao no cache e o plano de execucao já é montado para descobrir o melhor caminho para executa-la.
3 - use stored procedures em cenários que precise de um volume grande de processamento no banco de dados.
Para finalizar, as pessoas que dizem que o Linq TO SQL (L2S) morreu, é mentira, tá falando besteira. Ele virou um subset do EF4, veja as melhorias em http://damieng.com/blog/2009/06/01/linq-to-sql-changes-in-net-40
Boa sorte
Após fazermos o road show em Brasilia, Manaus e Salvador muitas pessoas me perguntaram sobre como selecionar alguns dados para serem exibidos no GridView usando o LINQ e o Entity Framework 4. Normalmente quando selecionamos uma entidade, todas as propriedades da classe são mostradas no gridview:
gvProdutos.DataSource = ef.Produto;
gvProdutos.DataBind();
No entanto, para exibir algumas propriedades com Lambda Expressions, use:
var dados = ef.Produto.Select(p => new { p.NomeProduto, p.Preco });
gvProdutos.DataSource = dados;
gvProdutos.DataBind();
Caso queira usar o linq, use
var dados = from p in ef.Produto
select new { p.NomeProduto, p.Preco };
gvProdutos.DataSource = dados;
gvProdutos.DataBind();
Bom, o que temos mostrado bastante e o público tem literalmente "babado" é o recurso do Model First do Entity Framework 4, onde montamos primeiro toda a estrutura de classes, propriedades e relacionamentos, fazemos toda a aplicação completa com LINQ, e por último, geramos o banco de dados. Realmente este recurso permite ao desenvolvedor montar, analisar e testar tudo sem o banco de dados criado.
As próximas cidades são (se inscreva em http://www.talentosmicrosoft.com.br):
15/04/2010 Ribeirão Preto
20/04/2010 Natal
22/04/2010 Fortaleza
24/04/2010 Recife
27/04/2010 Rio de Janeiro
29/04/2010 Belo Horizonte
08/05/2010 São Paulo
11/05/2010 Campinas
13/05/2010 Cuiabá