using System.Linq; namespace <%= solutionName %>.Dominio.Repositorios { /// Interface padrão para repositórios do sistema. Possui métodos para CRUD com o tipo informado. /// O tipo específico do repositório. public interface IRepositorio where TEntidade : class { /// Acrescenta um objeto ao repositório. /// O objeto a ser acrescentado ao repositório. void Acrescentar(TEntidade objeto); /// Edita um objeto existente no repositório com base em sua ID. /// O objeto que será usado como base para editar o objeto existente. void Editar(TEntidade objeto); /// Exclui um objeto existente no repositorio /// O objeto a ser excluído void Excluir(TEntidade objeto); /// Lista todos os objetos do repositorio /// IEnumerable contendo todos os objetos do repositorio IQueryable ListarTodos(); /// Lista todos os objetos do repositorio sem manter informações de mudança. /// IEnumerable contendo todos os objetos do repositorio IQueryable ListarTodosSomenteLeitura(); /// Efetiva as mudanças realizadas na fonte void SaveChanges(); } }