Skip to content

Immutable Objects

Required package: Dapper.FluentMap

Bind constructor parameters to mapped columns for immutable models.

Use this capability when the column shape and .NET model should remain separated by explicit, reviewable configuration.

public sealed class CustomerMap : EntityMap<Customer>
{
public CustomerMap()
{
Map(x => x.Id).ToColumn("customer_id");
Map(x => x.Name).ToColumn("customer_name");
}
}
var customer = connection.QueryMappedSingle<Customer>(sql);

FluentMap registers typed metadata and applies it through the matching materialization path. SQL, connections, parameters, and lifecycle remain responsibilities of the application and Dapper.