Mapping readonly prop - MapsterMapper/Mapster GitHub Wiki
Mapster can map to non public setter automatically.
public class Order {
public string Id { get; set; }
public ICollection<OrderItem> Items { get; private set; }
}
You can make your type pure readonly and annotate with [UseDestinationValue].
public class Order {
public string Id { get; set; }
[UseDestinationValue]
public ICollection<OrderItem> Items { get; } = new List<OrderItem>();
}
Or you can apply without annotate each type, for example, if you would like all readonly ICollection<>
to use destination value.
TypeAdapterConfig.GlobalSettings.Default
.UseDestinationValue(member => member.SetterModifier == AccessModifier.None &&
member.Type.IsGenericType &&
member.Type.GetGenericTypeDefinition() == typeof(ICollection<>));