Entity Framework open source, e agora? Como eu faço?

Agora o Entity Framework é open source. E o que podemos esperar disso?

O maior significado desta atitude é que o time de Entity Framework esta realmente interessado e esperando por nossas contribuições. O EF não é o primeiro produto da Microsoft a tornar-se open source. O ASP.Net MVC 4, ASP.Net Web API e Razor são projetos que também tornaram-se open source no último semestre.

O que significa ser open source? Open source é uma ideologia/filosofia que promove a distribuição livre e o acesso ao código fonte de um software/produto/projeto. O modelo open source também prevê a colaboração voluntária, a fim de melhorar o software disponibilizado, por meio do trabalho e do conhecimento de seus colaboradores voluntários.

ado_net_entity_framework

Leia mais »

Entity Framework agora é open source!

Olá pessoal,

entityFrameworkBrasilHoje, o código fonte do Entity Framework esta sendo disponibilizado sob uma licença open source (Apache 2.0) no CodePlex (http://entityframework.codeplex.com/). Esta atitude permitirá que qualquer um na comunidade possa engajar-se e contribuir com correção de bugs e desenvolvimento de novas features.

A Microsoft continuará desenvolvendo compilações oficiais do Entity Framework como os demais produtos. O objetivo de tornar o EF um projeto open source é aumentar o ciclo de feedback de desenvolvimento, favorecendo a construção de um produto ainda melhor.

Leia mais »

Mapeando heranças no Entity Framework Code First

O Entity Framework Code First provê suporte ao mapeamento de heranças. Podemos fazer este mapeamento de duas maneiras, via Table Per Hierarchy ou Table Per Type. Vamos ver seu funcionamento e suas diferenças neste post.

Para os exemplos desta publicação utilizaremos a mesma estrutura de classes para os dois modelos de mapeamento. A estrutura proposta engloba três classes: Veiculo, Carro e Aviao. Nessa estrutura as classes Carro e Aviao herdam de Veiculo. O diagrama deste modelo pode ser visto na figura abaixo:

diagramaClasses

Leia mais »

Microsoft Virtual Academy – Entity Framework

Esta semana saiu a publicação de mais um Microsoft Virtual Academy (MVA), e agora é a nossa vez! Este novo MVA é sobre Entity Framework (http://www.microsoftvirtualacademy.com/tracks/fundamentos-do-entity-framework-4).

Neste MVA discutimos sobre:
– O que é o Entity Framework
– Bancos de dados e ORM
– Leitura de dados do banco de dados
– Inclusão, atualização e exclusão de dados

Neste trabalho, Carlos dos Santos, Renato Haddad e eu gravamos uma sequência de vídeos e escrevemos alguns artigos explicando o funcionamento do Entity Framework.

Leia mais »

DbContext e o ObjectContext – Não deixe seus dados em memória!

O DbContext e o ObjectContext são duas classes responsáveis por gerenciar e acompanhar alterações em instâncias de classes no modelo, estas classes também gerenciam a conexão e o contexto de transação das operações com o banco de dados.

É importante assegurar que qualquer recurso associado com estes objetos seja limpo da memória quando não mais necessários, pois ao longo de cada execução é mantido um CACHE das instâncias de objetos recuperadas nas consultas. Se mantivermos a instância de nosso contexto por muito tempo ativa, executando consultas atrás de consultas, corremos o risco de consumir mais memória do que o necessário.

Para resolver esta questão, tanto a classe DbContext quanto a classe ObjectContext implementam a interface IDisposable, que inclui o método Dispose(), responsável por eliminar recursos utilizados pela instância corrente que não sejam mais necessários.

Leia mais »

Considerações de Performance do Entity Framework 5

Olá pessoal,

Este post será bastante sucinto. Semana passada o time de ADO.Net liberou um artigo com considerações de performance existentes no Entity Framework 5.

Este artigo é bastante interessante e detalhe diversos aspectos do Entity Framework, tais como:
– Cache
– Opções de execução de queries
– Estratégias de herança
– Lazy loading
– Comparações de performance

Leia mais »

Uso de Include em consultas com o Entity Framework Code First

Um tópico muito discutido nos fóruns de acesso a dados (http://social.msdn.microsoft.com/Forums/pt-BR/adoptpt/threads) e LINQ (http://social.msdn.microsoft.com/Forums/pt-BR/linqpt/threads) é o uso de Lazy Load no Entity Framework.

O Lazy Load (ou Lazy Loading) nada mais é do que um mecanismo adotado pelos frameworks de persistência a dados para carregar as informações sobre demanda, isto é, carregar em memória apenas os dados de propriedades que não sejam relacionamentos para outras entidades. Este tipo de recurso minimiza o consumo de memória, o trafego de dados pela rede e os recursos de consulta do banco de dados, além de tornar a consulta mais rápida.Leia mais »