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.