Skip to content

Feature List

Arnel Robles edited this page Sep 28, 2026 · 1 revision

Complete Feature List

Core Features

  • ✅ Zero-config convention mapping
  • ✅ Collection mapping (List, Array, IEnumerable)
  • ✅ Dictionary mapping (object ↔ Dictionary)
  • ✅ Flattening (AddressCity from Address.City)
  • ✅ Nullable type coercion (T ↔ T?)
  • ✅ Enum to numeric conversion
  • ✅ Nested object mapping
  • ✅ Case-insensitive property matching
  • ✅ Record type support (positional parameters)
  • ✅ Anonymous type support
  • ✅ Circular reference protection
  • ✅ Thread-safe caching

Advanced Features

  • ✅ [MapFrom] attribute
  • ✅ [IgnoreMap] attribute
  • ✅ Fluent configuration API
  • ✅ ForMember custom expressions
  • ✅ BeforeMap/AfterMap hooks
  • ✅ Polymorphic mapping (.Include<>)
  • ✅ Custom construction (.ConstructUsing)
  • ✅ Global type converters
  • ✅ Conditional mapping
  • ✅ ReverseMap
  • ✅ DI integration
  • ✅ Configuration validation

Enterprise Features

  • ✅ LRU cache option (memory-bounded)
  • ✅ Cache statistics (hits, misses, ratio)
  • ✅ PropertyInfo caching
  • ✅ Lock-free reads
  • ✅ Isolated mapper instances
  • ✅ Configurable depth limits
  • ✅ Diagnostic logging
  • ✅ Unmapped property detection

EF Core Features

  • ✅ ProjectTo with SQL translation
  • ✅ ForMember in ProjectTo
  • ✅ Flattening in SQL
  • ✅ Nested projection
  • ✅ Type coercion in queries

Validation Features (Mapsicle.Validation)

  • ✅ MapAndValidate with FluentValidation
  • ✅ Validator type parameter
  • ✅ Validator instance injection
  • ✅ Validation result with IsValid, Errors
  • ✅ ErrorsByProperty dictionary
  • ✅ GetValueOrThrow pattern
  • ✅ Validator caching

Naming Convention Features (Mapsicle.NamingConventions)

  • ✅ PascalCase convention
  • ✅ camelCase convention
  • ✅ snake_case convention
  • ✅ kebab-case convention
  • ✅ MapWithConvention extension
  • ✅ ConvertName string extension
  • ✅ NamesMatch cross-convention comparison
  • ✅ Property mapping cache

Serilog Features (Mapsicle.Serilog)

  • ✅ UseSerilog global integration
  • ✅ MapWithLogging extension
  • ✅ MapCollectionWithLogging extension
  • ✅ Slow mapping warnings
  • ✅ BeginMappingScope for batch totals
  • ✅ Structured logging with properties
  • ✅ Configurable thresholds

Dapper Features (Mapsicle.Dapper)

  • ✅ QueryAndMap / QueryAndMapAsync
  • ✅ QuerySingleAndMap / QuerySingleAndMapAsync
  • ✅ QueryFirstAndMap / QueryFirstAndMapAsync
  • ✅ Transaction support
  • ✅ Custom MapperConfiguration support
  • ✅ IMapper instance support
  • ✅ MapTo collection extension

Clone this wiki locally