O Dapper é um Micro ORM que funciona sobre o ADO.NET. É considerado o "Rei do Micro ORM" visto que em termos de velocidade, o mesmo é superior a grande parte dos Micros e Full ORM do mercado.
Por muitos, o Dapper é considerado sim um ORM, porém, para outros o Dapper é apenas um mapeador de objeto.
Entendemos um Full ORM, um framework que é capaz de serializar, gerar queries, armazenamento em cache de objetos e consultas, adminstrar concorrências, etc. Tudo em tempo de execução.
O Micro ORM é apenas um "mapeador". Onde cria o objeto a partir do retorno da base de dados.
Observe abaixo um benchmark entre um Micro ORM (Dapper) contra um Full ORM (Entity Framework).
A camada de dados é um proxy que fica entre a origem das requests (neste caso, aplicação MVC) e sua camada de entidades. Nesta camada, recebemos a request, realizamos a transação com a base de dados, é feito um trabalho de serialização e deserialização pelo ORM com a camada de entidades e é retornado um objeto para a camada de aplicação.
Utilizamos um pattern muito famoso no desenvolvimento web: O repository pattern.
Sua implementação trás vantagens ao seu sistema, tais como:
Padroniza as transações por cada entidade existente.
Permite que seja possível você trocar o seu ORM futuramente.
Permite que seu código seja mais limpo.