Dapper
PERFORMANCE NO ACESSO A DADOS EM .NET
Renato Groffe
◦ Microsoft Most Valuable Professional (MVP)
◦ Multi-Plataform Technical Audience Contributor
◦ Mais de 15 anos de experiência na área de Tecnologia
◦ Autor Técnico e Palestrante
◦ Um dos responsáveis pelo Canal .NET
Contatos
http://renatogroffe.net/
/renatogroffe /in/renatogroffe
/canaldotnet /renatogroffe
/@renato.groffe /renatogroff
Agenda
◦ Frameworks ORM: uma visão geral
◦ Dapper: um Micro-ORM para desenvolvimento em .NET
◦ Exemplos práticos
Frameworks ORM: uma visão geral
◦ Representação de registros como objetos de
forma facilitada
◦ Produtividade e agilidade no desenvolvimento
◦ Mais segurança na manipulação de dados em
bases relacionais
Frameworks ORM e a plataforma .NET
Frameworks ORM: limitações
◦ Consultas nem sempre são geradas da forma
mais performática
◦ Impedance mismatch → Conflitos entre
representação em memória (objetos) e o
equivalente numa base relacional
E como superar limitações envolvendo performance?
Utilizando um Micro-ORM
Uma boa alternativa seria o Dapper, Micro-
ORM voltado ao desenvolvimento de soluções
.NET
Dapper: visão geral
◦ Disponibiliza Extension Methods para o trabalho objetos de conexão do
ADO.NET
◦ Como Micro-ORM não possui todos os recursos de um ORM
convencional
◦ Foco em performance
◦ Suporte a .NET Full e .NET Core
Dapper e bancos de dados relacionais
Estruturas suportadas:
◦ Tabelas
◦ Views
◦ Store Procedures
Packages do Dapper
◦ Dapper → recursos básicos
https://github.com/StackExchange/Dapper
◦ Dapper.Contrib → Extensões para CRUD
https://github.com/StackExchange/Dapper/tree/master/Dapper.Contrib
Alguns bancos suportados pelo Dapper
Exemplo prático
Recursos Utilizados
◦ Microsoft Visual Studio 2017
◦ .NET Core 1.1
◦ .NET Framework 4.7 (Full)
Dúvidas?
Obrigado!

Dapper - Developers-SP - Junho/2017