none
Boas práticas com DbContext RRS feed

  • Pergunta

  • Estou pesquisando na net sobre boas práticas usando o DbContext do ef4 mas não encontrei muita coisa. Alguém tem alguma dica?
    domingo, 13 de novembro de 2011 23:26

Todas as Respostas

  • Como assim boas práticas?

    --
    Marque as respostas e ajude a melhorar a busca do fórum. pcfviana@gmail.com
    segunda-feira, 14 de novembro de 2011 11:38
  • Olá Natan,

    Existem algumas práticas que são indicadas, como:

    1 - Não mapeie muitas tabelas para o mesmo DataContext, tente agrupar as tabelas em sseu DataContext de acordo com a sua relação de uso, por exemplo: DataContext do financeiro possui referência as tabelas nota fiscal, pedido de compra e pedido de venda, enquanto que o datacontext de PDV possui referência a Produto, Pedido de Venda e Cliente.

    2 - Utilize o Dispose() sempre e não deixe seu DataContext "aberto" por muito tempo, pois pode gastar recursos de memória com o seu Cache interno. Exemplo: (Neste caso sempre utilizo o Using, tanto para atualizar registros, quanto para fazer consultas)

    3 - Essa dica é para quando vc utilizar Linq to SQL, ou o tipo de dados Table ao invés do DbSet dentro do EF4: crie um atributo privado em sua classe que faça referência a sua tabela, e crie uma propriedade que inicialize a instância de seu atributo privado apenas quando necessário, segue exemplo:

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    • Sugerido como Resposta Levi Domingos segunda-feira, 14 de novembro de 2011 15:20
    segunda-feira, 14 de novembro de 2011 12:47
    Moderador
  • Uma dica que eu posso dar é implementar o Repository Pattern com o EF4:

    http://geekswithblogs.net/seanfao/archive/2009/12/03/136680.aspx

     

     


    Pedro Henrique B. Fernandes
    MCTS - .NET Framework 4, Data Access
    MCTS - .NET Framework 4, Web Applications
    Site: pedrofernandes.net
    segunda-feira, 14 de novembro de 2011 15:16