Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

Lazy Loading no Entity Framework 4.0


Uma das novas features no Entity Framework 4.0 é o Lazy Loading ou como era chamado Deferred Loading.Lazy Loading é a capacidade de carregar as propriedades de associação de nossas entidades no momento em que forem chamadas, e se forem chamadas.Confuso? Na verdade é muito simples, vejamos o modelo abaixo:Modelo Lazy Loading

Lazy Loading quer dizer que quando eu carregar uma entidade do tipo Author as suas propriedades Posts e Profile não serão carregadas em um primeiro momento. Suas cargas só se darão quando um acesso a estas propriedades for feito.O benefício do Lazy Loading é evitar trazer dados que não serão utilizados em um primeiro momento, pois talvez estes dados realmente não sejam utilizados.No entanto com Lazy Loading habilitado haverão mais idas ao banco de dados. Dependendo do seu cenário, considere esta informação.Pode padrão os contextos do Entity Framework 4 já vêm com Lazy Loading habilitado, mas caso você queira habilitar é necessário apenas uma linha de código:

var contexto = new Contexto();
    contexto.ContextOptions.LazyLoadingEnabled = true;
    

e para desabilitar:

var contexto = new Contexto();
    contexto.ContextOptions.LazyLoadingEnabled = false;
    

Isso é tudo que é necessário para trabalhar com Lazy Loading no EF4.Qualquer dúvida ou sugestão é só deixar comentários ou enviar emails.

Att, Vinicius Quaiato.

Voltar

Fork me on GitHub