-
Notifications
You must be signed in to change notification settings - Fork 1
Fluent
Arnel Robles edited this page Sep 28, 2026
·
1 revision
using Mapsicle.Fluent;
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<User, UserDto>()
.ForMember(d => d.FullName, opt => opt.MapFrom(s => $"{s.First} {s.Last}"))
.ForMember(d => d.Password, opt => opt.Ignore())
.ForMember(d => d.Status, opt => opt.Condition(s => s.IsActive));
});
config.AssertConfigurationIsValid();
var mapper = config.CreateMapper();// In Program.cs
services.AddMapsicle(cfg =>
{
cfg.CreateMap<User, UserDto>();
}, validateConfiguration: true);
// In your service
public class UserService(IMapper mapper)
{
public UserDto GetUser(User user) => mapper.Map<UserDto>(user);
}cfg.CreateMap<Order, OrderDto>()
.BeforeMap((src, dest) => dest.CreatedAt = DateTime.UtcNow)
.AfterMap((src, dest) => dest.WasProcessed = true);cfg.CreateMap<Vehicle, VehicleDto>()
.Include<Car, CarDto>()
.Include<Truck, TruckDto>();cfg.CreateMap<Order, OrderDto>()
.ConstructUsing(src => OrderFactory.Create(src.Type));cfg.CreateConverter<Money, decimal>(m => m.Amount);
cfg.CreateConverter<Money, string>(m => $"{m.Currency} {m.Amount}");Mapsicle
Packages
- Core
- Fluent
- EntityFramework
- Validation
- NamingConventions
- Serilog
- Dapper
- AspNetCore
- Json
- Caching
- Audit
- DataAnnotations
Reference