Alteração da estrutura.

Alteração da estrutura, adição de generic type para a classe de contexto
e melhor estrutura das entidades relacionadas.