Sobre o projeto

Dapper é uma biblioteca NuGet para .NET que aprimora as conexões ADO.NET através de métodos de extensão em DbConnection. Ela fornece uma API simples e eficiente para invocar SQL, suportando acesso a dados síncrono e assíncrono, e consultas com buffer e sem buffer. As principais APIs incluem Execute para operações de inserção/atualização/exclusão, Query para consultas de várias linhas e QuerySingle para consultas de linha única. Os parâmetros podem ser passados como POCOs simples, tipos anônimos, dicionários ou instâncias de DynamicParameters. A biblioteca mapeia os resultados da consulta para objetos tipados ou listas dinâmicas, suporta a execução de comandos várias vezes para operações em massa e lida com consultas parametrizadas com parâmetros nomeados. Também suporta expansão de listas para cláusulas IN, substituições literais para tipos bool e numéricos, e leitores com buffer e sem buffer. Recursos adicionais incluem multi-mapeamento para dividir uma única linha em múltiplos objetos, processamento de múltiplas grades de resultados em uma consulta, suporte a procedimentos armazenados com parâmetros de saída e valor de retorno, tratamento de strings ANSI para colunas varchar e alternância de tipo por linha via IDataReader.GetRowParser. Dapper foi originalmente desenvolvido para e pelo Stack Overflow e permanece gratuito e de código aberto. O repositório inclui vários pacotes relacionados: Dapper.EntityFramework para manipuladores de extensão do Entity Framework, Dapper.Rainbow como um micro-ORM com auxiliares de CRUD, Dapper.SqlBuilder para construção dinâmica de consultas SQL e variantes StrongName. O README também documenta benchmarks de desempenho comparando Dapper com outros ORMs e acesso a dados codificado à mão.