Table of Contents

This Package allows you to perform async operation for mapping.

   PM> Install-Package Mapster.Async

Setup

Use AfterMappingAsync to setup async operation:

config.NewConfig<Poco, Dto>()
    .AfterMappingAsync(async (poco, dto) =>
    {
        var userManager = MapContext.Current.GetService<UserManager>();
        var user = await userManager.FindByIdAsync(poco.UserId);
        dto.UserName = user.Name;
    });

Mapping

Then map asynchronously with AdaptToTypeAsync.

var dto = await poco.BuildAdapter()
    .AdaptToTypeAsync<Dto>();

Or like this, if you use mapper instance:

var dto = await _mapper.From(poco)
    .AdaptToTypeAsync<Dto>();