Database Performance

Todas as chamadas à base de dados devem ser evitadas a todo o custo.

  • Sempre que se fizer um this.EntityContext, um Manager.GetXPTO() ou uma chamada a um ApplicationService, verificar se estão dentro de um ciclo ou se realmente é necessário fazer essa query.
  • Evitar fazer duas ou várias queries seguidas sobre a mesma tabela ou tabelas relacionadas. Cada vez que se pinga a BD a aplicação fica mais lenta.
  • Usar o .Select dos atributos de que se necessita em vez de obter o objeto todo.
  • Se no Manager, utilizar os métodos gerados GetXPTO sempre que possível. Estes métodos são IQueryable e garantem que não são esquecidas condições !IsDeleted e IsActive.
  • Se são entidades company dependent não esquecer do filtro da Company.