====== Interfaces ====== Nas interfaces de repositório são descriminadas os funções de interação com o banco de dados. As funções padrões estão na interface //IRepositorioPadrao// sobrando para serem adicionadas a interface funções especificas. Veja na figura o exemplo //IRepositorioDeOrdem// que herda a interface //IRepositorioPadrao// tipada pelo objeto de negocio //Ordem//. {{ :pres:gerti:processos_de_ti:solution_crud_servico_repositorio_repositporios.png?nolink |}} A funções obrigatórias na implementação da interface que herda a //IRepositorioPadrao// são: {{ :pres:gerti:processos_de_ti:solution_crud_servico_repositorio_irepositoriopadrao.png?nolink |}} ====== Mapeadores ====== Os mapeadores realizam a relação do objeto de negocio com as tabelas do banco de dados para que o Entity Framework realize as transações com o banco. A classe de mapeamento deve herdar a classe //EntityTypeConfiguration// tipada pelo objeto de negócio. {{ :pres:gerti:processos_de_ti:solution_crud_servico_mapeadores.png?nolink |}} ====== Repositorios ====== As classes do Repositório são as responsáveis pela implementação das funções especificadas nas Interfaces. Porém a as funções básicas de um repositório já estão desenvolvidas, então o que se espera para esta classe é a criação de funções especificadas ou a subscrita(//override//) dos métodos existentes. Os métodos padrões pertencem a classe genérica //RepositorioGenerico// que dever ser tipada por um objeto de negocio. Veja a figura da classe que deve herdar //RepositorioGenerico// e implementar a interface e respectivamente a classe //RepositorioGenerico//. {{ :pres:gerti:construcao_dos_modulos:servicos:modulo_repositorio:solution_crud_servico_repositorio_repositporios.png?nolink |}} {{ :pres:gerti:construcao_dos_modulos:servicos:modulo_repositorio:solution_crud_repositoriopadrao.png?nolink |}}