Aller au contenu

« Mapster » : différence entre les versions

De Banane Atomic
Ligne 30 : Ligne 30 :
dotnet add package Mapster.DependencyInjection
dotnet add package Mapster.DependencyInjection
</kode>
</kode>
<filebox fn='Program.cs'>
services.AddSingleton(config);
services.AddScoped<IMapper, ServiceMapper>();
</filebox>


= Installation =
= Installation =

Version du 18 janvier 2025 à 22:04

Links

Mapping

// create a new itemDto from item
var itemDto = item.Adapt<ItemDto>();

// update itemDto with data from item
item.Adapt(itemDto);

Configuration

// global config
TypeAdapterConfig.GlobalSettings.Default.IgnoreNullValues(true);

// config the mapping from Item to ItemDto
TypeAdapterConfig<Item, ItemDto>  // src, dest
    .NewConfig()  // create new map config (overwrite existing ones)
    .ForType()    // OR create a map config if no one exists, otherwise append to th existing one
    .Ignore(dest => dest.Prop1)  // do not map Prop1
    .Map(dest => dest.Prop2, src => $"{0} {1}", src.Prop2, src.Prop3));  // custom mapping for Prop2

Dependency Injection

dotnet add package Mapster.DependencyInjection
Program.cs
services.AddSingleton(config);
services.AddScoped<IMapper, ServiceMapper>();

Installation

dotnet add package Mapster