Relacione propriedades e colunas com uma API clara.
Documentação do Dapper FluentMap
Dapper FluentMap · .NET
Mapeie seus dados. Mantenha seus modelos limpos.
Adicione mapeamento fluente e fortemente tipado ao Dapper sem colocar atributos de persistência em seus POCOs. FluentMap complementa o Dapper; ele não substitui o Dapper nem pretende ser um ORM completo.
public sealed class CustomerMap
: EntityMap<Customer>
{
public CustomerMap()
{
Map(x => x.Id)
.ToColumn("customer_id");
Map(x => x.Name)
.ToColumn("customer_name");
}
}Mapeamento explícito onde ele ajuda
Uma camada pequena e previsível entre seus objetos e os nomes que o banco expõe.
Expressões C# mantêm o mapeamento próximo do compilador.
Evite atributos de persistência no domínio.
Aplique regras repetíveis e políticas de nomenclatura.
Materialize construtores e fábricas nos caminhos suportados.
Continue usando conexões, SQL e consultas do Dapper.
Registre mappings e materializadores compatíveis no build.
Valide configurações em runtime e com analyzers opcionais.
Do modelo à consulta em três arquivos
O exemplo usa apenas APIs verificadas do pacote principal. Troque de aba, copie o arquivo e avance para o guia completo.
public sealed class Customer
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
}public sealed class CustomerMap : EntityMap<Customer>
{
public CustomerMap()
{
Map(x => x.Id).ToColumn("customer_id");
Map(x => x.Name).ToColumn("customer_name");
}
}FluentMapper.Initialize(config =>
config.AddMap<CustomerMap>());
var customer = connection.QuerySingle<Customer>(
"SELECT customer_id, customer_name FROM customers");Feito para sistemas reais
Use o FluentMap quando o esquema do banco e o modelo da aplicação precisam evoluir com responsabilidades distintas.
Bancos legados
Mapeie nomes antigos sem contaminar suas entidades.
Convenções divergentes
Conecte PascalCase, snake_case e esquemas específicos.
ASP.NET Core
Use configuração isolada e integração com DI.
Vários provedores
Mantenha o mapeamento acima do provider ADO.NET.
Escolha seu próximo passo
A documentação progride do primeiro mapping até materialização, integração e migração.
Ajude o FluentMap a ficar ainda melhor.
Reporte bugs, proponha melhorias, compartilhe exemplos ou contribua com código e documentação. Se o projeto ajuda seu trabalho, uma estrela facilita que outros desenvolvedores o encontrem.