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.
A funções obrigatórias na implementação da interface que herda a IRepositorioPadrao são:
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.
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.